我正在使用瘦客户机jdbc驱动程序(类型4)在oracle 11g数据库(11.2.0.1)和java客户机之间创建启用SSL的连接。我们正在使用orapki实用程序创建客户机/服务器/根证书,并将证书放在oracle钱包中。
当我们使用orapki实用程序(在oracle11gdb中)创建证书时,似乎默认的加密哈希算法是md5。在我们升级到jdk1.7 u101之前,这一切都很好。这个版本的jdk不再支持MD5。因此,我们似乎需要使用SHA-256作为哈希算法。我一直得到oracle钱包管理器11.2.0.1+支持SHA-256的引用,但我找不到任何文档说明如何在创建证书时将SHA-256指定为哈希算法。
有没有一种方法可以通过orapki/钱包管理器生成证书,使用SHA-256作为哈希算法?
发布于 2016-07-09 09:50:50
您可以在-sign_alg sha256中使用orapki来使用sha256而不是md5对证书进行签名。
例如:创建用作受信任权威的自签名证书
orapki wallet create -wallet ./root -pwd welcome123 -nologo
orapki wallet remove -trusted_cert_all -wallet ./root -pwd welcome123 -nologo
orapki wallet add -wallet ./root -dn CN=Certification\ Authority\ For\ Testing,\ O=MyCompany,\ C=US -keysize 2048 -self_signed -validity 7300 -pwd welcome123 -sign_alg sha256 -nologo
orapki wallet export -wallet ./root -dn CN=Certification\ Authority\ For\ Testing,\ O=MyCompany,\ C=US -cert ./root/rootcertificate.crt -pwd welcome123 -nologo
keytool -printcert -file root/rootcertificate.crt
orapki wallet display -wallet ./root -pwd welcome123 -nologo产出如下:
Owner: CN=Certification Authority For Testing, O=MyCompany, C=US
Issuer: CN=Certification Authority For Testing, O= MyCompany, C=US
Serial number: 0
Valid from: Wed Mar 09 03:35:42 PST 2016 until: Tue Mar 04 03:35:42 PST 2036
Certificate fingerprints:
MD5: D1:EB:E4:27:FB:B1:C9:4A:CB:9D:28:A6:5A:C7:E7:20
SHA1: 39:DD:C2:4A:EA:97:BD:47:52:8C:E6:B9:2C:97:F9:F4:A8:A4:5E:85
SHA256: 04:28:19:01:AC:83:C3:69:D0:C9:1C:6A:94:08:B7:31:0C:65:21:7F:8E:FB:19:50:22:02:C4:9C:69:B1:1E:F6
Signature algorithm name: SHA256withRSA
Version: 1https://stackoverflow.com/questions/38190999
复制相似问题