如何将 .cer public 密钥导入 java 信任库?
How to import .cer public key into java trust store?
这是我用来将 public 密钥导入我的信任库的命令。
$ keytool -import -trustcacerts -file dev.cer -alias my_alias -keystore truststore.jks -storepass mypass -v
我得到的输出是:
keytool error: java.lang.Exception: Input not an X.509 certificate
java.lang.Exception: Input not an X.509 certificate
at sun.security.tools.keytool.Main.addTrustedCert(Main.java:2652)
at sun.security.tools.keytool.Main.doCommands(Main.java:1006)
at sun.security.tools.keytool.Main.run(Main.java:340)
at sun.security.tools.keytool.Main.main(Main.java:333)
dev.cer
文件的内容如下所示:
-----BEGIN PUBLIC KEY-----
... encoded text ...
-----END PUBLIC KEY-----
还有一点值得一提,这个证书是在 Windows 运行 机器上生成的,我想在 Linux 环境中导入它。可能和特殊字符有关。
任何帮助将不胜感激。
keytool error: java.lang.Exception: Input not an X.509 certificate
的原因是因为没有导入证书,而是尝试导入 public 密钥(即使文件扩展名是 .cer
,页眉 -----BEGIN PUBLIC KEY-----
和页脚 -----END PUBLIC KEY-----
表示该文件不包含有效证书,但仅包含 public 密钥)。术语 public 证书和 public 密钥有时会被错误地互换使用。
这是我用来将 public 密钥导入我的信任库的命令。
$ keytool -import -trustcacerts -file dev.cer -alias my_alias -keystore truststore.jks -storepass mypass -v
我得到的输出是:
keytool error: java.lang.Exception: Input not an X.509 certificate
java.lang.Exception: Input not an X.509 certificate
at sun.security.tools.keytool.Main.addTrustedCert(Main.java:2652)
at sun.security.tools.keytool.Main.doCommands(Main.java:1006)
at sun.security.tools.keytool.Main.run(Main.java:340)
at sun.security.tools.keytool.Main.main(Main.java:333)
dev.cer
文件的内容如下所示:
-----BEGIN PUBLIC KEY-----
... encoded text ...
-----END PUBLIC KEY-----
还有一点值得一提,这个证书是在 Windows 运行 机器上生成的,我想在 Linux 环境中导入它。可能和特殊字符有关。
任何帮助将不胜感激。
keytool error: java.lang.Exception: Input not an X.509 certificate
的原因是因为没有导入证书,而是尝试导入 public 密钥(即使文件扩展名是 .cer
,页眉 -----BEGIN PUBLIC KEY-----
和页脚 -----END PUBLIC KEY-----
表示该文件不包含有效证书,但仅包含 public 密钥)。术语 public 证书和 public 密钥有时会被错误地互换使用。