配置 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 证书导入到分派器信任库中时,使用权限目录中的 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=ThePwd12Oracle 网络配置
在 Oracle 数据库服务器上配置以下两个文件来启用 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。