CA PEM文件到jks tomcat truststore

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

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

我看到很多关于jsk的post,但不是相反。 我只需要CA. (我认为) :)

首先,不保证您拥有的p12文件包含已颁发其包含的最终实体证书的CA证书。 尽管密钥库包含中间证书很有用(如此处所述),但是在链的末尾包含CA是没有必要的:如果远程方不信任它,将其添加到链中将不会产生差异(如这里所讨论的)。

你可以使用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--块。)

您不是说您是希望此信任库用于validation连接到Tomcat服务器的客户端,还是用于在Tomcat中运行的Web应用程序进行的连接(在这种情况下,它们是客户端)。 设置此信任库的位置和方式取决于它。 (在第二种情况下,从默认cacerts文件的副本开始,而不是从头创建新商店通常很有用。)

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

  1. 找到tomcat正在使用的JRE(不是JDK)。 请参阅tomcat启动以获取JRE_HOME。
  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