gpt4 book ai didi

JAVA Web服务证书配置

转载 作者:行者123 更新时间:2023-11-30 07:13:07 25 4
gpt4 key购买 nike

我对配置 Web 服务证书非常陌生。目前我将 weblogic serverJROCKET Jre 一起使用。我正在尝试调用外部网络服务。为此,我已在 jre/lib/security cacerts 文件中添加了所有提供的证书。我最终收到了错误消息 -

"The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11".

请帮助我。

最佳答案

The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11

这看起来很奇怪,很多人都会忽略这些错误消息。但是,如果您的策略是仅显示真实的错误消息,那么您很快就会寻找解决方案。互联网充满了可能的解决方案。有些建议从 JDK 信任存储中删除证书,有些建议使用不同的信任存储。但这是最好的解决方案吗?有什么副作用吗?

主要文章

我们的解决方案首先是了解错误消息。又来了。

Ignoring the trusted CA certificate “CN=Entrust Root Certification Authority – G2,OU=(c) 2009 Entrust, Inc. – for authorized use only,OU=See www.entrust.net/legal-terms,O=Entrust, Inc.,C=US”. The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.

第一句是结果,第二句解释原因。查找原因,很快就找到了“证书解析异常”。但是“PKIX:AlgorithmIdentifier 对象中不支持的 OID:1.2.840.113549.1.1.11” 告诉我们什么?

  • PKIX 代表公钥基础设施 (X.509)。 X.509 是用于导出、交换和导入 SSL 证书的标准。
  • OID 代表对象标识符。对象标识符是全局的独特且按层次结构组织。该层次结构由以下人员维护每个国家的标准机构。每个标准机构都是负责特定分支并可以定义和分配条目进入层次结构。

有了这些背景信息,我们可以在 OID 存储库中查找号码 1.2.840.113549.1.1.11(请参阅引用资料中的链接)并获得此结果“iso(1) member-body(2) us(840) rsadsi” (113549) pkcs(1) pkcs-1(1) sha256WithRSAEncryption(11)“。

结合第一句中的证书信息和 OID 查找的信息,我们得到以下结果:

The certificate from CN=Entrust Root Certification Authority – G2,OU=(c) 2009 Entrust, Inc. – for authorized use only,OU=See www.entrust.net/legal-terms,O=Entrust, Inc.,C=US uses SHA256WithRSAEncryption which is not supported by the JDK!

您可能会看到更多有关其他证书中使用的类似或不同加密算法的消息。

根本原因

这些因素会导致此(和类似)错误消息:

  1. 默认情况下,Java 加密扩展 (JCE) 附带JDK,仅实现有限强度的管辖政策文件。
  2. 保存此和其他内容的 JDK 的默认信任存储证书可以在 JAVA_HOME/jre/lib/security/cacerts 中找到。
  3. 12c 之前的 WebLogic Server 版本附带 Certicom SSL执行。 Certicom 实现不会更新因为所需的JDK已经附带了标准的SunJSSE实现。

问题

Certicom 实现与许多 SSL 证书完美配合,但不支持更新、更强的算法。仅当您不需要安装第三方证书(例如来自知名证书颁发机构的证书)时,从默认信任存储中删除证书或使用新的信任存储才有效。

解决方案

要删除这些错误消息并支持较新的 SSL 证书,我们必须执行以下步骤:

  1. 使用 Java 加密技术升级管辖策略文件扩展 (JCE) 无限强度管辖权政策文件。你可以下载适合的无限力量管辖权文件来自 Oracle 技术网的 JDK 版本(请参阅引用)。请按照随附的安装说明进行操作分布。
  2. 在 WebLogic Server 中启用 SunJSSE 支持

     - Login to Weblogic console
    - Go to [Select your Server] -> SSL -> Advance
    - Set “Enable JSSE” to true.
  3. 完全重新启动您的域(包括 NodeManager)

如果您使用 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 证书!

资源链接:

  1. Improve SSL Support for Your WebLogic Domains by Olaf Heimburger
  2. Improve SSL Support for Your WebLogic Domains

关于JAVA Web服务证书配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com