【问题标题】:Configure Tomcat 8.0's SSL using XCA使用 XCA 配置 Tomcat 8.0 的 SSL
【发布时间】:2015-07-09 14:55:39
【问题描述】:

我最近发现了 XCA 工具来管理与密码学或安全性相关的证书、密钥等(查看 here )。

到目前为止,我已经创建了一个自签名 CA 证书,并用它签署了我的服务器和客户端证书:

现在,我要做的是用 XCA 的导出文件配置 Tomcat,以便使用 SSL:

<Connector 
                        port="8443" 
                        protocol="org.apache.coyote.http11.Http11AprProtocol"
                        maxThreads="150" 
                        SSLEnabled="true" 
                        scheme="https" 
                        secure="true" 
                        clientAuth="true" 
                        sslProtocol="TLSv1.2" 
                        SSLVerifyClient="require" 
                        SSLCipherSuite="ALL" 
                        SSLCertificateFile="??" 
                        SSLCertificateKeyFile="??" 
                        SSLCertificateChainFile="??"
                        SSLCACertificateFile="??" />

所以我的问题来了:我必须导出哪些文件以及将它们放在 Tomcat 连接器中的什么位置? (PEM、带有证书链文件的 pem、带有所有受信任证书的 pem、带有所有证书的 pem...)。

感谢您的帮助!

编辑: 我已经按照this 教程进行了所有设置(本指南为西班牙语)。我已经在 Firefox、Chrome、Internet Explorer 和 Safari 上对其进行了测试。它工作的唯一浏览器是 Firefox...我收到以下错误:ERR_CERT_INVALID

我已经意识到可能导致此问题的原因...我有时使用 SHA-1 alg 来制作这些证书。我将使用另一种算法重复该过程。

编辑 2 将哈希算法从 SHA-1 更改为 SHA-512 后,什么都没有改变...

编辑 3 Chrome、Internet Explorer 或 Safari 在安全性方面似乎比 Firefox 更严格。我尝试了一个 Java 客户端,它使用 HTTPS 连接到我的 Web 服务并且工作正常:)。

【问题讨论】:

    标签: java tomcat ssl cryptography


    【解决方案1】:

    由于您使用的是 APR 连接器,因此您应该使用 PEM 文件是正确的(其他连接器使用 Java 密钥库)。请注意,“PEM 文件”仅描述文件类型而不是其内容。

    您将需要两个工件来配置 TLS:

    1. 服务器的私钥
    2. 服务器的证书

    有多种方法可以在单个文件中配置这些工件,但如果您将每个工件放在单独的文件中,会更容易理解。为密钥创建一个名为 [servername].key 的文件,为证书创建另一个名为 [servername].crt 的文件有点传统。

    如果不使用客户端证书,首先验证 TLS 是否配置正确会更容易,因此请先尝试,然后在此基础上添加客户端证书配置。

    现在有了这些文件,SSL相关的属性值就有些明显了:

    SSLCertificateFile="[servername].crt" 
    SSLCertificateKeyFile="[servername].key" 
    

    您不需要将这些属性中的任何一个设置为任何内容:

    SSLCertificateChainFile
    SSLCACertificateFile
    

    不要将密码套件设置为“全部”...这将使密码的安全性基本上为零。试试SSLCipherSuite="HIGH" 之类的东西。您需要在线阅读一些关于如何为现代部署配置一套体面的密码套件的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-19
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      • 2012-12-23
      相关资源
      最近更新 更多