如何使用CRT和PEM文件在SSLcat中实现ssl(SSL_ERROR_NO_CYPHER_OVERLAP)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用CRT和PEM文件在SSLcat中实现ssl(SSL_ERROR_NO_CYPHER_OVERLAP)相关的知识,希望对你有一定的参考价值。

我收到了来自供应商的ssl文件--2个crt文件和一个pem文件。有人可以给出如何在Tomcat 7中使用这些文件实现ssl的步骤吗?

我实现了以下步骤将ssl文件存储到密钥库中

keytool -import -alias root -keystore tomcat.jks -trustcacerts -file tomcat.pem 
keytool -import -alias comodo1 -keystore tomcat.jks -trustcacerts -file root.crt
keytool -import -alias comodo2 -keystore tomcat.jks -trustcacerts -file int.crt

配置在Tomcat中的行下面

<Connector port="443" protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="/opt/tomcat.jks"
keystorePass="password"/>

也尝试用org.apache.coyote.http11.Http11NioProtocol替换上面的协议,但它仍然无法在浏览器上工作我得到以下错误消息。有人可以帮我这个。

An error occurred during a connection to XXXX:8443. Cannot communicate securely with peer: no common encryption algorithm(s). Error code: SSL_ERROR_NO_CYPHER_OVERLAP
答案

请运行以下命令并确认密钥库中是否存在privatekeyEntry。

keytool -list -v -keystore <密钥库文件路径>

enter image description here

如果此条目不可用,则密钥库文件不能用于SSL加密。

另一答案

安装根证书时,应该使用root.crt而不是tomcat.pem(我认为这是您的中间证书)。

我已按照以下步骤在tomcat 8上安装和配置SSL。

  1. 生成的密钥库运行命令: keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore 通过运行命令生成的csr文件: keytool -certreq -keyalg RSA -alias tomcat -file yourCSR.csr -keystore tomcat.keystore 在www.godaddy.com上提交了CSR请求

一旦我的请求获得批准,goDaddy就会颁发证书。我已按照以下步骤操作(goDaddy将此指令与cert文件一起发送)。通过运行以下命令安装根证书:

keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file [name of the root certificate]

通过运行以下命令安装中间证书:

keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file [name of the intermediate certificate]我的中级证书以.pem结尾

通过运行以下命令将已颁发的证书安装到密钥库中:

keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file [name of the certificate]

最后,我将以下内容添加/修改为server.xml并重新启动tomcat服务器。 **

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
   maxThreads="150" scheme="https" secure="true"
   clientAuth="false" sslProtocol="TLS" keystoreFile=".mykeystore" keystorePass="xxxxxx"
   ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,
   TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,
   TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA" />

**

另一答案

我需要在tomcat.keystore文件上有一些清晰度。

1.在生成CSR密钥之前,我看到tomcat.keystore中的内容列表,它包含具有所有者和发行者详细信息的PrivateKeyEntry条目。(所有者和发行者包含信息CN,OU,L,ST等我在创建tomcat时输入的相同细节。密钥库。现在,如果我在tomcat配置,直到这里将工作,因为自签名证书将显示在我的浏览器发行人详细信息。我同意这一点。 2.将所有证书(godaddy)导入我的tomcat.keystore之后,如果我看到列表,我可以看到其他条目,例如:来自godaddy的所有者和发行者的trustedCertEntry。但是在该列表中,PrivateKeyEntry显示Issuer为“XXX”,在创建tomcat.keystore时输入。我不认为发行人的名字是Godaddy.i我不确定我在哪里做错了。

现在配置并从浏览器启动tomcat后,问题名称显示“XXX”与我在创建密钥时输入的内容相同。即使导入所有godaddy证书后,也不知道为什么它没有在brower中显示问题作为godaddy?

以上是关于如何使用CRT和PEM文件在SSLcat中实现ssl(SSL_ERROR_NO_CYPHER_OVERLAP)的主要内容,如果未能解决你的问题,请参考以下文章

如何从一个 .crt(通配符)文件生成多个 .pem 文件?

如何将 .crt 转换为 .pem [重复]

ssl证书 只有crt文件 但是使用时需要key或pem文件 请问如何转换

ssl证书 只有crt文件 但是使用时需要key或pem文件 请问如何转换

DER,CRT,CER,PEM证书以及如何转换它们

apache的证书文件-crt,pem,key,p7b ...我迷路了