【问题标题】:CA PEM file to jks tomcat truststoreCA PEM 文件到 jks tomcat 信任库
【发布时间】:2014-10-10 16:53:41
【问题描述】:

我获得了一个由某个 CA 签名的 p12 公钥/私钥。我有一个本地 tomcat 服务器,我正在做开发工作。我是安全新手,但我认为需要将 CA 公共证书放入我的 tomcats 信任库。 (我正在尝试让 x509 证书与 CAS 一起使用)

如何让我的 tomcat(和 JVM)信任这个 CA?有没有办法从 p12 中获取 CA 公共证书并进入我的 tomcat 信任库? (我还从 firefox 导出了证书以获取 CA 的 PEM 文件)

我看到很多关于 jsk 到 pem 的帖子,但反之则不然。我只需要 CA。 (我认为):)

【问题讨论】:

  • 不是同一个问题,我试图从 PEM(或 p12)文件中提取 CA 证书。不要合并密钥库或转换格式。布鲁诺有正确的答案。

标签: java tomcat ssl x509certificate cas


【解决方案1】:

首先,不能保证您拥有的 p12 文件包含颁发它所包含的最终实体证书的 CA 证书。虽然密钥库包含中间证书很有用(如 here 所讨论的),但在链的末尾包含 CA 是不必要的:如果远程方不信任它,则将其添加到链中不会有所作为(如here 所讨论的那样)。

您可以使用openssl pkcs12 -nokeys -out output.pem -in yourstore.p12 进行检查。用文本编辑器查看output.pem的内容,应该可以看到是否包含CA证书。如果没有,请联系颁发您的证书的 CA,他们应该能够提供给您。

然后,要构建一个新的密钥库以用作信任库,请使用keytool -import,例如keytool -import -keystore mytruststore.jks -file the_ca_file.pem。 (该 CA 文件应该只包含 CA 的证书,而不是其他的。如果您从之前的输出中复制此文件,请仅使用相关的 --BEGIN--...--END-- 块。)

您并不是说您是否希望此信任库用于验证连接到您的 Tomcat 服务器的客户端,或者用于由运行在 Tomcat 中的 web 应用程序建立的连接(在这种情况下,它们是客户端)。在何处以及如何设置此信任库将取决于它。 (在第二种情况下,从默认cacerts 文件的副本开始通常很有用,而不是从头开始创建新商店。)

【讨论】:

  • 有用的东西从来不在 Oracle 文档中,而是在这个网站的某个地方
【解决方案2】:

将证书(任何类型的 p12、x509)导入 tomcat 信任库非常简单。按照以下步骤,您应该能够将证书导入到您的 tomcat 的信任库中。

  1. 找到您的 tomcat 正在使用的 JRE(不是 JDK)。查看 JRE_HOME 的 tomcat 启动。
  2. 使用 JREBin 目录中的 Keytool 使用以下命令将您通过浏览器导出的证书导入到信任库中。

    jre\bin\keytool -importkeystore -srckeystore .\Certs\sample.p12 \
        -destkeystore .\Certs\server.keystore -srcstoretype pkcs12 \
        -deststoretype jks -srcstorepass changeit -deststorepass changeit
    
  3. 并在提示是否信任证书时键入 YES。

参考:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

http://support.citrix.com/proddocs/topic/command-center-40/cc-install-import-cert-truststore-tsk.html

【讨论】:

  • 好的,我的困惑在于不理解我的公钥和 CA 公钥。 keytool -importkeystore 也不会导入我的公钥吗?我不想那样(我不认为)我只想让 tomcat 接受 CA 签名的任何密钥。
  • -importkeystore 还将复制私钥,这不是问题中所要求的(并且私钥通常不应在信任存储中分发)。
猜你喜欢
  • 2011-11-23
  • 2013-11-23
  • 1970-01-01
  • 1970-01-01
  • 2014-08-12
  • 2016-01-30
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
相关资源
最近更新 更多