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などです。