2010-03-20 327 views
12

我在独立的.pem文件中拥有公钥和私钥,我需要以某种方式进入JKS密钥库。将.pem公钥和私钥导入JKS密钥库

尝试在KeyTool中使用-import命令进行此操作,该操作给出“不是X.509证书”错误。

我猜测解决方案与OpenSSL有关,但我不完全确定如何处理它。

真的很感谢任何帮助,因为我完全不知道与密码相关的所有东西。

由于提前, --Rolf

回答

3

密钥工具预计DER格式的对象。 PEM是Base64编码的DER,带有页眉和页脚。 KeyTool无法解析PEM。

但是,OpenSSL可以将PEM对象转换为DER。例如,对于X.509证书,-outform DER命令行标志指示OpenSSL使用DER作为其输出格式。

This page显然包含一些更详细的解释。

+0

嗨,谢谢你的回答! 我设法将私钥转换为DER与OpenSSL,但不是公钥。 OpenSSL的X​​509 -in pubkey.pem -inform PEM退房手续pubkey.der -outform DER 导致以下错误: 无法加载证书 5280:错误:0906D06C:PEM套路:PEM_read_bio:无从下手一行: \ crypto \ pem \ pem_lib .c:642:预计:TRUSTED CERTIFICATE 我在猜测,它期望公钥文件以“BEGIN TRUSTED CERTIFICATE”标头开头,但它实际上包含的是“BEGIN PUBLIC KEY “ – Rolf 2010-03-20 23:07:35

+4

你有一个”唯一的公钥“。你需要一个证书。 KeyTool遵循KeyStore格式,它只有在带有证书的情况下才接受私钥。证书包含公钥以及其他信息,如身份(“密钥所有者名称”)和“证书颁发机构”的签名。您可以使用私钥来创建一个“自签名证书”(签名相对于密钥本身来计算的证书);试试这个:'openssl req -new -x509 -key privkey.pem -out cert.pem' – 2010-03-21 14:00:43

+0

好吧,这让我走上了正轨,谢谢! – Rolf 2010-03-22 14:46:34