将自签名证书链添加到密钥库

问题描述 投票:0回答:1

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

我尝试了2种方法。

方法1:

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

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

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

方法2:

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"/>

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

enter image description here

tomcat ssl certificate keytool pkix
1个回答
0
投票

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

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

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

属性keyAlias

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

© www.soinside.com 2019 - 2024. All rights reserved.