【发布时间】:2016-01-27 03:37:29
【问题描述】:
我以前从未设置过 SSL/TLS,它不起作用,我不知道如何调试它。最初的谷歌搜索没有出现选项。这是我所做的:
-
使用openSSL生成私钥和CSR
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
让我的 csr 签名并从startssl.com 下载证书(第一年免费)
-
将根证书、中间证书和我的域证书安装到 .keystore 中,例如:
keytool -import -trustcacerts -alias root -file root.crt -keystore .keystore
keytool -import -trustcacerts -alias middle -file intermediate.crt -keystore .keystore
keytool -import -trustcacerts -alias tomcat -file mydomain.crt -keystore .keystore
-
添加了 tomcat 连接器(如下所示,但我必须删除 xml 尖括号或堆栈溢出不会显示它)
连接器 SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" maxThreads="25" port="8443" keystoreFile="/home/ec2-user/.keystore" keystorePass="password" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS "
反弹的tomcat,服务器启动成功,服务http请求
- 打开catalina.out看到如下错误
java.io.IOException: 别名 tomcat 不能识别键 进入
-
有人建议我通过将根连接到中间证书然后使用下面的命令来创建一个 .pkcs12 文件
openssl pkcs12 -in mydomain.crt -certfile CA.crt -chain -inkey privateKey.key -out tomcat.p12
很遗憾,这导致了以下错误:
4294956672:error:0D0680A8:asn1 编码例程:ASN1_CHECK_TLEN:错误 标签:tasn_dec.c:1201: 4294956672:error:0D07803A:asn1 编码 例程:ASN1_ITEM_EX_D2I:嵌套 asn1 错误:tasn_dec.c:374:Type =PKCS12
然后我尝试将私钥、域、中间和根证书串联成一个.pem文件,然后将其转换为x509
然后我尝试在 jks & tomcat 中使用 x509 证书,但我得到了同样的错误
java.io.IOException: 别名 tomcat 不能识别关键条目
通过谷歌阅读这篇文章让我更加困惑 - 我阅读了这些关于如何做到这一点的非常自信的教程,它们似乎完全错了。在哪里可以找到有关如何设置的准确指南。
【问题讨论】:
-
好的,很好,这就是我正在阅读的内容。我尝试创建 pkcs12,但遇到了一些关于证书链的错误,我还没有时间解决这个问题。我看到的一个指南说使用 openssl 根证书,但它不再与 open ssl 捆绑在一起。