我目前拥有一个密钥库,只有我知道特定的密码。现在我需要让其他人访问这个密钥库,因此我想要:
1)更改密码,以便我可以与他人共享并让他们签署
2)创建不同的密码并允许他们使用它进行签名。
这可行吗?如果是,怎么操作?
密钥库只有一个密码。您可以使用keytool更改它:
keytool -storepasswd -keystore my.keystore
改变密钥的密码:keytool -keypasswd -alias <key_name> -keystore my.keystore
如何更改密码以便与他人共享并让他们签署?
使用keytool:
keytool -storepasswd -keystore /path/to/keystore
Enter keystore password: changeit
New keystore password: new-password
Re-enter new keystore password: new-password
keytool -keypasswd -alias <KeyName> -keystore my.keystore
来更改私钥 <KeyName>
的密码。 - Marcin Orlowski更改密钥库密码
$ 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
要更改密钥库mykeyfile
中别名为myalias
的密钥的密码:
keytool -keystore mykeyfile -keypasswd -alias myalias
KeyStore Explorer 是一个开源的 GUI 工具,可以替代 Java 命令行工具 keytool 和 jarsigner。通过直观的图形用户界面,KeyStore Explorer 展示了它们的功能以及更多。
对于完全的程序化更改(例如安装程序)且无需提示
#!/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
这里有很多答案,但如果你想在Android Studio的Mac上更改jks密码,下面是我能找到的最简单的步骤:
1)打开终端并cd到.jks文件所在的位置
2)keytool -storepasswd -new NEWPASSWORD -keystore YOURKEYSTORE.jks
3)输入当前密码