首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tomcat 7 (7.0.10)上的SSL我正在使用Thawte证书

tomcat 7 (7.0.10)上的SSL我正在使用Thawte证书
EN

Stack Overflow用户
提问于 2014-05-29 11:23:34
回答 1查看 184关注 0票数 0

在使用Thawte证书时,我在tomcat 7 (7.0.10)上配置SSL有问题,请仔细阅读下面的说明。我遵循了以下步骤

1)使用以下命令生成密钥

代码语言:javascript
复制
keytool -genkey -keysize 2048 -alias test_self_certificate -keyalg RSA -keystore test_self_certificate.jks -validity 730

此命令在当前文件夹中生成“test_self_certificate.jks”文件。

2)使用以下命令生成CSR

代码语言:javascript
复制
keytool -certreq -alias test_self_certificate -file my_application.csr -keystore test_self_certificate.jks

此命令在当前文件夹中生成“my_application.csr”文件。

3)然后我将此CSR提交给Thawte,并从他们那里获得了PKCS#7格式的证书,我在记事本中复制了证书文本,并将该文件保存为PKCS#7。

4)然后使用以下命令创建了新的JKS密钥存储库,并导入了从Thawte接收的证书

代码语言:javascript
复制
keytool -import -alias signed_cert -trustcacerts -file signed_certificate.p7b -keystore tomcat_application.jks

此命令在当前文件夹中生成“tomcat_application.jks”文件。

5)我更新了tomcat server.xml如下(我提供了正确的.jks文件路径和密钥存储密码)

代码语言:javascript
复制
<Connector port="8001" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
                            maxThreads="150" scheme="https" secure="true"
               keystoreFile="/export/home/parsupport/Tomcat_certs/ tomcat_application.jks " keystorePass="parlive" clientAuth="false" sslProtocol="TLS" /> 

6)在此更改之后,当我启动Tomcat时,我得到了下面的异常,而tomcat没有从SSL开始

代码语言:javascript
复制
Caused by: javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled.
    at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.checkEnabledSuites(SSLServerSocketImpl.java:310)
    at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:255)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.checkConfig(JSSESocketFactory.java:774)

重要注意事项:,但是如果我导入了我为生成KeyPair和CSR而创建的从Thawte (test_self_certificate.jks --上面提到的第一步)收到的证书,并使用该密钥库配置tomcat (如上面第6步所述),那么Tomcat将以SSL模式启动,但在尝试启动HTTPS时,我会得到不受信任的证书警告。

EN

回答 1

Stack Overflow用户

发布于 2014-05-29 12:22:44

钥匙工具-genkey -keysize 2048 -alias test_self_certificate .

在这里,-genkey生成一个公钥/私钥对,并将其存储到"test_self_certificate“别名条目中,从而使其成为一个私钥条目。(如果使用keytool -list,您将看到一些私钥条目和一些证书条目)。-genkey还生成一个自签名证书来自动与此私钥关联(这也是默认情况下有效存储公钥的方式)。

钥匙工具-import -alias signed_cert ..。

如果您获得为存储在密钥存储库中的私钥颁发的证书,则需要将此证书存储在正确的私钥项上,而不仅仅是任何条目。在这里,您应该使用-alias test_self_certificate (这也可能意味着它不是别名的最佳选择,但这只是一个细节)。(在某些情况下,您可能还需要make sure you import the full chain。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23932186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档