为什么 keytool -exportcert 不要求输入 keypasswd?

Why keytool -exportcert doesn't ask for keypasswd?

文档指出: "You will always need this password in order to access the keystore entry containing that key."

http://docs.oracle.com/javase/tutorial/security/toolsign/step3.html

但是无论我设置什么 keypasswd,我都可以在没有它的情况下导出证书,并且生成的文件都是二进制文件。

为什么导出证书不需要指定keypasswd?

导出的证书是一个 PUBLIC KEY 所以它不需要密码(不意味着被保护)你实际保护的是一个 KEYSTORE(public + 私钥的组合)这就是为什么 keytool 不需要密码来导出 public 密钥...