【问题标题】:Add Self Signed Certificate Chain to keystore将自签名证书链添加到密钥库
【发布时间】:2017-12-26 13:19:08
【问题描述】:

我需要使用我的自签名证书链创建一个 .keystore 文件。

我尝试了两种方法。

方法一:

https://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/

我使用上述帖子创建了我的自签名证书链。我将 .crt 转换为 .p7b 并尝试创建密钥库文件,但在 OpenSSL 中出现“输入不是 X.509 证书”。

我正在使用 Windows 机器。于是我打开 .crt 文件,点击“复制到文件”并将其保存为 .p7b 文件。

方法二:

https://www.pixelstech.net/article/1450354633-Using-keytool-to-create-certificate-chain

我使用上面的帖子创建了带有证书链的密钥库,但是当我将它添加到 时,我的浏览器中出现“无法访问此站点”错误,并且日志中没有错误。

我的连接器如下:

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" keystoreFile="test.keystore" keystorePass="test" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" name="SSL" port="9372" scheme="https" secure="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" sslProtocol="TLS"/>

如果密钥库文件只有一个证书,则上述连接器可以工作。因此,问题在于生成密钥库的过程。

如何成功地将证书链添加到我的密钥库?

编辑:

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" keystoreFile="test.p12" keystorePass="test" keystoreType="PKCS12" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" name="SSL" port="9372" scheme="https" secure="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" sslProtocol="TLS"/>

我将密钥库的格式从 .keystore 修改为 .p12。我的应用程序现在运行,但“Didier Stevens 代码签名 (https://DidierStevens.com)”的状态显示“此证书正常”。而“Didier Stevens(https://DidierStevens.com)”的状态显示“此 CA 根证书不受信任,因为它不在受信任的根证书颁发机构存储中。”。应该是相反的,但不知道是什么问题。

【问题讨论】:

标签: tomcat ssl certificate keytool pkix


【解决方案1】:

您引用了“如果密钥库文件只有一个证书,则上述连接器有效。因此,问题在于生成密钥库的过程。” 因此,如果问题是在密钥库中选择一组特定的证书/密钥,您需要将其指定为连接器的一部分。

如果未指定,将使用第一个条目。

请看这里:https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes

属性keyAlias

用于密钥库中服务器密钥和证书的别名。如果 未指定时,将使用从密钥库中读取的第一个密钥。这 从密钥库中读取密钥的顺序是实现 依赖。可能不是从密钥库中读取密钥的情况 与添加它们的顺序相同。如果存在多个密钥 在密钥库中,强烈建议使用 keyAlias 配置以确保使用正确的密钥。

【讨论】:

  • 您的 CA 证书不受系统信任,因此您收到错误消息,对于您使用 OpenSSL 创建的 CA,您将拥有一个 CA 公共证书,将其打开并将其导入 Windows。您可以打开证书,在证书路径中选择根/中间 CA 证书。单击查看证书。在新的证书窗口中,转到详细信息选项卡,然后单击复制到文件。将其导出为 .cer 文件。打开它,然后单击安装证书。完成向导并将证书安装在受信任的根证书中,这将有助于您的系统信任来自 CA 的证书。
猜你喜欢
  • 2013-04-10
  • 1970-01-01
  • 2013-11-10
  • 2014-03-13
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 2011-02-15
相关资源
最近更新 更多