gpt4 book ai didi

java - 使用 XCA 配置 Tomcat 8.0 的 SSL

转载 作者:行者123 更新时间:2023-11-28 23:30:15 25 4
gpt4 key购买 nike

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

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

xca screen

现在,我要做的是使用 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

ERR_CERT_INVALID

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

编辑 2将散列算法从 SHA-1 更改为 SHA-512 后,没有任何变化...

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

最佳答案

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

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

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

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

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

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

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

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

SSLCertificateChainFile
SSLCACertificateFile

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

关于java - 使用 XCA 配置 Tomcat 8.0 的 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31321155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com