我很擅长为webservice配置证书。目前,我将weblogic server
与JROCKET Jre
一起使用。我想调用外部Web服务。我已经在jre / lib / security cacerts文件中添加了所有提供的证书。我最终收到错误消息 -
“加载可信证书列表会引发证书 解析异常PKIX:AlgorithmIdentifier中不支持的OID 对象:1.2.840.113549.1.1.11“。
请帮助我。
答案 0 :(得分:0)
加载可信证书列表会引发证书 解析异常PKIX:AlgorithmIdentifier中不支持的OID 对象:1.2.840.113549.1.1.11
这看起来很奇怪,许多人忽略了这些错误消息。但是,如果您的策略仅显示真实的错误消息,那么您很快就会寻找解决方案。互联网充满了可能的解决方案。有些人建议从JDK信任库中删除证书,有些人建议使用不同的信任库。但这是最好的解决方案,副作用是什么?
我们的解决方案首先要了解错误消息。这是再次。
忽略可信CA证书“CN = Entrust Root Certification 授权 - G2,OU =(c)2009 Entrust,Inc。 - 授权使用 只有,OU =见www.entrust.net/legal-terms,O=Entrust,Inc。,C = US“。该 加载可信证书列表引发了证书解析 异常PKIX:AlgorithmIdentifier对象中不支持的OID: 1.2.840.113549.1.1.11。
第一句是结果,第二句解释原因。看看原因,我们很快找到“证书解析异常”。但“PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11”
告诉我们什么呢?
使用此背景信息,我们可以在OID存储库中查找数字1.2.840.113549.1.1.11(参见参考资料中的链接)并获得此结果“iso(1)member-body(2)us(840)rsadsi (113549)pkcs(1)pkcs-1(1)sha256与RSAEncryption(11)“。
结合第一句中的证书信息和OID查找中的信息,我们得到以下结果:
来自CN = Entrust Root Certification Authority的证书 - G2,OU =(c)2009 Entrust,Inc。 - 仅限授权使用,OU = See www.entrust.net/legal-terms,O=Entrust,Inc。,C =美国使用 SHA256与JDK不支持的RSAE加密!
您可能会看到有关其他证书中使用的类似或不同加密算法的更多消息。
这些因素导致此(及类似)错误消息:
JAVA_HOME/jre/lib/security/cacerts
。Certicom实现与许多SSL证书完美配合,但不支持更新更强的算法。仅当您不需要安装第三方证书(例如,来自众所周知的证书颁发机构)时,才能从默认信任库或使用新信任库中删除证书。
要删除这些错误消息并支持较新的SSL证书,我们必须执行以下步骤:
在WebLogic Server中启用SunJSSE支持
- Login to Weblogic console
- Go to [Select your Server] -> SSL -> Advance
- Set “Enable JSSE” to true.
如果您使用WLST脚本启动域:
CONFIG_JVM_ARGS='-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true'
如果使用脚本startWebLogic.sh,startManagedServer.sh或startNodeManager.sh启动域:
JAVA_OPTIONS='-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true'
您的Java和WebLogic环境现在已准备好支持更新的SSL证书!