首页 > 解决方案 > 使用证书 .cer 在 Tomcat 上安装 SSL

问题描述

我的问题是是否可以将 SSL 添加到仅使用.cer文件安装的 Tomcat 7 的 Windows 服务器。

我有一个客户端,它在你的应用程序中使用 SSL 和 ISS,每当你需要在你的 ISS 服务器上安装 SSL 时,只安装这个.cer文件:但是当我用 Tomcat 为它做了一个应用程序时,我需要用我要求的 HTTPS 保护那个应用程序一个证书,我发送了这个 .cer 文件。

我已经尝试生成 .JKS 文件并以某种方式将其添加到 Tomcat 中,但没有成功。前任:

keytool -import -alias root -keystore example.jks -trustcacerts -file certificate.cer

有了这个,我生成了 jks 文件并将其映射到 tomcat,它碰巧它不起作用。我知道 Tomcat 设置很好,因为我做了一个使用 genkey 生成文件的测试,它返回给我一个 .keystore 文件并且它可以工作。

编辑:

server.xml 中的连接器:

    <Connector
       protocol="org.apache.coyote.http11.Http11NioProtocol"
       port="443" 
       maxThreads="200"
       scheme="https" 
       secure="true" 
       SSLEnabled="true"
       keystoreFile="C:/path/example.jks" 
       keystorePass="password"
       clientAuth="false"
       sslProtocol="TLS"
       keyAlias="root" />

我应该以其他格式申请此证书吗?

有没有人经历过这个,你能给我一些提示吗?

谢谢你。

标签: javatomcatssl

解决方案


回答您的问题:单个 CER 文件通常不足以在 Tomcat 或任何其他 Web-/应用程序服务器中正确配置 HTTPS 连接器。

不确定这是如何在 IIS 中配置的,但您总是需要一个私钥/密钥才能使用 SSL。

基本上使用签名证书(非自签名)时的标准流程是这样的:

  1. 生成私钥/密钥

    $ keytool -genkey -keystore tomcat.jks -alias tomcat -keyalg RSA -keystore tomcat.jks -dname "CN=<hostname>"
    
  2. 为此密钥生成证书签名请求

    $ keytool -certreq -keystore tomcat.jks -alias tomcat -file tomcat.csr 
    
  3. 将此签名请求(CSR 文件)提交给签名机构,您将获得签名证书(CER 文件)作为回报

    $ keytool -gencert -keystore root-ca.jks -alias root -infile tomcat.csr -outfile tomcat.cer -rfc 
    
  4. 此证书与签名机构的证书一起导入您的密钥库

    $ keytool -import -keystore tomcat.jks -file my-root-ca.cer -trustcacerts -alias my-root-ca
    $ keytool -importcert -keystore tomcat.jks -alias tomcat -file tomcat.cer
    

现在该tomcat.jks文件可以在 Tomcat 中用作 HTTPS 连接器的密钥库。

没有关于您的certificate.cer文件在问题中包含什么的信息。要使用 keytool 检查内容,您可以使用此命令

$ keytool -printcert -file certificate.cer

在我上面的示例中,输出如下所示:

Owner: CN=<hostname>
Issuer: CN=My-Root-CA, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Serial number: 222f266a
Valid from: Sat Aug 25 12:41:01 CEST 2018 until: Fri Nov 23 11:41:01 CET 2018
...

如果需要,也许您可​​以将输出添加到您的问题中以获得更多帮助。


推荐阅读