将自签名证书链添加到密钥库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将自签名证书链添加到密钥库相关的知识,希望对你有一定的参考价值。
我需要使用自签名证书链创建一个.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根证书不受信任,因为它不在受信任的根证书颁发机构存储。“它应该是相反的方式,但不知道这个问题是什么。
您已经引用“如果密钥库文件只有一个证书,则上述连接器有效。因此,问题在于生成密钥库的过程。”因此,如果问题是在密钥库中选择一组特定的证书/密钥,则需要将其作为连接器的一部分进行特定。
如果未指定,则将使用第一个条目。
见这里:https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes
属性keyAlias
用于密钥库中的服务器密钥和证书的别名。如果未指定,将使用从密钥库读取的第一个密钥。从密钥库读取密钥的顺序取决于实现。可能不是按照添加密钥的顺序从密钥库读取密钥的情况。如果密钥库中存在多个密钥,则强烈建议配置keyAlias以确保使用正确的密钥。
以上是关于将自签名证书链添加到密钥库的主要内容,如果未能解决你的问题,请参考以下文章
jarsigner 找不到XXX的证书链。xxx必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目
jarsigner 找不到XXX的证书链。xxx必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目