oracle配置ssl协议

1前提需求

1.1确认oracle版本号 :服务端至少在11.2.0.4上运行

1.2找到自己的oracle根目录

image.png
image.png
image.png
image.png
示例:如上图所以oracl的根目录为C:\app\BJB314\product\11.2.0\dbhome_1

2配置ssl证书协议

2.1新建oracle认证钱包存放存放地址

orapki wallet create -wallet  本机目录     -pwd  密码 -auto_login

2.2创建对应信任证书

orapki wallet add -wallet -sign_alg sha256   刚才创建的wallet目录 -pwd 密码        -dn "CN=`主机名`" -keysize 1024 -self_signed    -validity 3650 

2.3查看对应证书请求

orapki wallet display -wallet  wallet目录 -pwd 密码

2.4将信任证书导出方便客户端应用

orapki wallet export -wallet wallet目录 -pwd 密码 -dn "CN=`主机名`" -cert 导出目录/certificate.crt

3修改配置文件

3.1找到oracle根目录下/NETWORK/ADMIN/lister.ora文件并添加下图中红框的信息image.png

其中host参数为自己的计算机名或者已配置的host

 (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCPS)(HOST = localhost)(PORT = 2484))
  )

在配置文件中加入以下内容

SSL_CLIENT_AUTHENTICATION = FALSE
WALLET_LOCATION =
  (SOURCE =
    (METHOD = FILE)
    (METHOD_DATA =
      (DIRECTORY = wallet目录)
    )
  )

示例图如下:
image.png

3.2在oracle根目录下/NETWORK/ADMIN/sqlnet文件中加入以下内容

如果SQLNET.AUTHENTICATION_SERVICES中没有TCPS选项 请务必加上
image.png

3.3 在oracle根目录下/NETWORK/ADMIN/tnsnames.ora文件添加服务监听名

image.png

4重启oracle服务监听

找到oracle根目录下/BIN目录/LSNRCTL.EXE可执行文件并使用管理员打开
image.png
输入stop
image.png
输入start
image.png
服务器的ssl协议配置完成

5验证是否ssl连接

验证服务端是否启用ssl协议

sqlplus 账号/密码@SSL

其中ssl为3.3添加的服务名

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用JDBC连接Oracle数据库并开启SSL,可以按照以下步骤: 1. 获取SSL证书和密钥,并将它们拼接成一个PKCS#12格式的文件。可以使用openssl工具将证书和密钥转换为PKCS#12格式: ```bash openssl pkcs12 -export -in cert.pem -inkey key.pem -out keystore.p12 ``` 其中,cert.pem是SSL证书文件,key.pem是SSL密钥文件,keystore.p12是生成的PKCS#12文件。 2. 将PKCS#12文件转换为Oracle支持的JKS格式。可以使用keytool工具将PKCS#12文件转换为JKS格式: ```bash keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS ``` 其中,keystore.p12是上一步生成的PKCS#12文件,keystore.jks是生成的JKS文件。 3. 将JKS文件拷贝到JDBC应用程序的classpath中。 4. 在JDBC连接字符串中指定SSL相关的参数。可以使用以下参数: - oracle.net.ssl_cipher_suites:指定SSL加密套件。可以使用逗号分隔的加密套件列表。例如: ``` oracle.net.ssl_cipher_suites=TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA ``` - oracle.net.ssl_version:指定SSL协议版本。可以使用SSLv3、TLSv1、TLSv1.1、TLSv1.2等版本。例如: ``` oracle.net.ssl_version=TLSv1.2 ``` - oracle.net.ssl_server_dn_match:指定SSL的服务器证书的主机名。例如: ``` oracle.net.ssl_server_dn_match=true ``` - oracle.net.ssl_keystore_location:指定JKS文件的位置。例如: ``` oracle.net.ssl_keystore_location=/path/to/keystore.jks ``` - oracle.net.ssl_keystore_password:指定JKS文件的密码。例如: ``` oracle.net.ssl_keystore_password=changeit ``` 将这些参数拼接在JDBC连接字符串中,例如: ``` jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=myhost)(PORT=2484))(CONNECT_DATA=(SERVICE_NAME=myorcldbservicename))(SECURITY=(SSL_SERVER_CERT_DN="CN=myhost.com,OU=MyOrgUnit,O=MyOrg,L=MyCity,ST=MyState,C=MyCountry")(SSL_CIPHER_SUITES=(SSL_RSA_WITH_AES_256_CBC_SHA))(SSL_VERSION=TLSv1.2))(SOURCE_ROUTE=yes)(ENABLE=BROKEN) ``` 其中,myhost是Oracle数据库的主机名,2484是SSL端口号,myorcldbservicename是Oracle服务名,SSL_SERVER_CERT_DN是SSL服务器证书的主机名,SSL_CIPHER_SUITES是SSL加密套件,SSL_VERSION是SSL协议版本。 注意,以上是样例,实际使用时需要修改为自己的配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值