2013-03-20 30 views
1

我需要从我们的JKS密钥库中提取我们的SSL证书和私钥并将其发送给我们正在与之连接的第三方供应商。创建密钥库并导入证书的人已不在公司,因此我不知道我特别需要使用哪个别名。如何知道哪个别名包含Java密钥库中的证书和私钥?

证书和私钥是否会从相同的别名中提取?我的密钥库中有5个别名。 3日期为2010年,2日期为2012年。2012别名具有PrivateKeyEntry和trustedCertEntry的条目类型。 2010年3月为trustedCertEntry。所有5个都在有效日期范围内,表示没有任何过期。

我的理解是,PrivateKeyEntry包含私钥和证书链?这是否意味着证书和私钥都应该从相同的别名中提取?

我在这里没有很多错误空间,并且想要确保我完全理解我要输出和发送的内容。

+4

“我需要从我们的JKS密钥库中提取我们的SSL证书和私钥并将其发送给我们正在与之连接的第三方供应商。”这里有严重的问题。您的私钥是一种宝贵的安全资源。您将它发送到任何地方的时刻都会受到影响,并且不能再用于它的目的。如果外部供应商要求你的私钥,那么它显然是严重无能的证据。让供应商为任何目的生成自己的密钥,例如测试。请**不要低估你建议的严肃性。 – EJP 2013-03-20 23:33:09

回答

0

用于证书的别名不必与私钥对应。所以,你必须抓住机会。

编辑:

我还没有真正尝试过这一点。但它确实无关紧要,因为证书取决于公私钥。密钥库中给出的密码只是保护它们并仅将其提供给可信用户的一种方法。所以,我建议你生成证书并使用getEncoded方法将它们与另一个进行比较。这会给你的二进制文件,你可以比较它们。

+0

很高兴知道,谢谢。密钥库从我们的JBoss配置中获得。不幸的是,我没有看到任何内容表明使用了别名。 keytool成功地从PrivateKeyEntry中导出了一个证书,所以我将不得不相信现在是正确的。 – framauro13 2013-03-20 19:53:54

+0

我标记你的答案为可接受的,因为你是对的,技术上没有办法知道,所以这是对我的了解。 最后一个问题,(如果不符合礼仪,我会发一个新帖子):在这种情况下,私钥和证书是从相同的别名中导出的。当我将私钥导出到新的密钥库(PKCS)时,在发送密钥前更改密码是否与以前导出的证书有关系?例如:我将证书导出到文件中,然后使用与旧密钥库不匹配的新密码将私钥导出到PKCS P12文件。 – framauro13 2013-03-20 21:59:38

+0

@ framauro13:更新了答案看一看。此外,请让我知道问题的解决方案 – 2013-03-20 23:49:41

相关问题