我了解该-keypass
选项用于“密钥的密码”,而该-storepass
选项用于“密钥库的密码”。
但是,我不明白为什么需要两个密码。
需要 2 个密码的情况有哪些:一个用于存储(在我的情况下是文件),一个用于密钥。
这是由于 Java 处理密钥库的方式,所以它不是 Android 特定的问题。原因是因为访问存储(例如添加/查看信任关系)是与创建和签署密钥/证书不同的任务。
简而言之,您可能信任某人查看/更新您的密钥库,但不使用您存储在密钥库中的密钥对事物进行签名。另外,密钥可以存储在多个密钥库中,并且您希望单独锁定您的密钥。
Keytool 将 storepass 和 keypass 用于不同的目的。
storepass 用于访问密钥库
keypass 用于访问特定密钥对的私钥。
但是,不应在命令行或脚本中指定密码,除非用于测试目的,或者您在安全系统上。