Oracle データベース・サーバーの構成
Oracle Wallet Manager や orapki コマンドなどの Oracle ツールを使用して、Oracle データベース・サーバー上でトラストストアと鍵ストアの両方を構成します。
このタスクについて
cd c:\temp
mkdir authority
mkdir server
mkdir client
自己署名認証局
orapki wallet create -wallet ./authority -pwd=ThePwd12
orapki wallet add -wallet ./authority -dn "CN=authority, C=US" -keysize 2048
-self_signed -validity 3650 -pwd=ThePwd12
orapki wallet export -wallet ./authority -dn "CN=authority, C=US" -cert
./authority/CA.cer -pwd=ThePwd12
keytool コマンドを使用して CA 証明書をディスパッチャー・トラストストアにインポートする場合は、authority ディレクトリー内の CA.cer ファイルをトラステッド証明書として使用します。
サーバー認証のためのストア
orapki wallet create -wallet ./server -auto_login -pwd=ThePwd12
orapki wallet add -wallet ./server -dn "CN=server, C=US" -keysize 2048
-pwd=ThePwd12
orapki wallet export -wallet ./server -dn "CN=server, C=US" -request
./server/creq.cer -pwd=ThePwd12
orapki cert create -wallet ./authority -request ./server/creq.cer -cert
./server/signed.cer -validity 3650 -pwd=ThePwd12
orapki wallet add -wallet ./server -trusted_cert -cert ./authority/CA.cer
-pwd=ThePwd12
orapki wallet add -wallet ./server -user_cert -cert ./server/signed.cer
-pwd=ThePwd12
クライアント認証のためのストア
orapki wallet create -wallet ./client -auto_login -pwd=ThePwd12
orapki wallet add -wallet ./client -dn "CN=client, C=US" -keysize 2048
-pwd=ThePwd12
orapki wallet export -wallet ./client -dn "CN=client, C=US" -request
./client/creq.cer -pwd=ThePwd12
orapki cert create -wallet ./authority -request ./client/creq.cer -cert
./client/signed.cer -validity 3650 -pwd=ThePwd12
orapki wallet add -wallet ./client -trusted_cert -cert ./authority/CA.cer
-pwd=ThePwd12
orapki wallet add -wallet ./client -user_cert -cert ./client/signed.cer
-pwd=ThePwd12
Oracle ネットワーク構成
Oracle データベース・サーバーで、次の 2 つのファイルを、SSL が有効化されるように構成します。
- listener.ora
- sqlnet.ora
これらのファイルは、Oracle ホーム・ディレクトリーの network¥admin ディレクトリーにあります。 これらのファイルを編集するには、Oracle Net Manager またはテキスト・エディターを使用します。
listener.ora:
SSL_VERSION = 3.0
SSL_CLIENT_AUTHENTICATION = FALSE
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = myDir)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myHost)(PORT = nonSSLPort))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCPS)(HOST = myHost)(PORT = sslPort))
)
)
sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES= (TCPS, NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES)
SSL_VERSION = 3.0
SSL_CLIENT_AUTHENTICATION = FALSE
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = myDir)
)
)
ここで:
- myDir
- Oracle データベース・サーバー上でのトラストストアのディレクトリー・ロケーション。 例: C:¥temp¥server。
- myHost
- サーバー・ホスト名。
- nonSSLPort
- 非 SSL 通信ポート (TCP プロトコル)。 例えば、
1521
などです。 - sslPort
- SSL 通信ポート (TCPS プロトコル)。 例えば、
2484
などです。