我目前有一个密钥库,有一个只有我应该知道的特定密码。我现在需要将对该密钥库的访问权限授予其他人,所以我想:
1)更改密码,以便我可以与其他人共享并让他们签名
2)创建一个不同的密码并允许他们使用它签名。
这可能吗?和 - 如果是的话 - 如何?
Keystore 只有一个密码。您可以使用 keytool 更改它:
keytool -storepasswd -keystore my.keystore
要更改密钥的密码:
keytool -keypasswd -alias <key_name> -keystore my.keystore
[如何]更改密码,以便我可以与其他人共享并让他们签名
使用密钥工具:
keytool -storepasswd -keystore /path/to/keystore
Enter keystore password: changeit
New keystore password: new-password
Re-enter new keystore password: new-password
更改密钥库密码
$ keytool -storepasswd -keystore keystorename
Enter keystore password: <old password>
New keystore password: <new password>
Re-enter new keystore password: <new password>
更改密钥库别名密码
$keytool -keypasswd -keystore keystorename -alias aliasname
Enter keystore password:
New key password for <aliasname>:
Re-enter new key password for <aliasname>:
笔记:
**Keystorename**: name of your keystore(with path if you are indifferent folder)
**aliasname**: alias name you used when creating (if name has space you can use \)
for example: $keytool -keypasswd -keystore keystorename -alias stop\ watch
要更改myalias
密钥库中密钥的密码mykeyfile
:
keytool -keystore mykeyfile -keypasswd -alias myalias
对于完整的程序更改(例如安装程序)并且没有提示
#!/bin/bash -eu
NEWPASSWORD=${1}
OLDPASSWORD=${2}
keytool -storepasswd -new "${NEWPASSWORD}" \
-storepass "${OLDPASSWORD}" \
-keystore /path/to/keystore
完全披露:我不建议在 shell 中运行此命令行,因为旧密码和新密码将保存在 shell 的历史记录中,并且在控制台中可见。
如果密钥库包含其他具有不同密码的密钥条目,您还必须更改它们,或者您可以使用以下命令将您的密钥隔离到不同的密钥库,
keytool -importkeystore -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass
KeyStore Explorer是 Java 命令行实用程序 keytool 和 jarsigner 的开源 GUI 替代品。KeyStore Explorer 通过直观的图形用户界面展示其功能等。
这里有很多答案,但是如果您尝试在 Android Studio 中更改 Mac 上的 jks 密码。这是我能找到的最简单的步骤
1) 打开终端并 cd 到您的 .jks 所在的位置
2) keytool -storepasswd -new NEWPASSWORD -keystore YOURKEYSTORE.jks
3) 输入您当前的密码