我现在有一个密钥库,其中有一个只有我自己知道的特定密码。我现在需要将该密钥库的访问权授予其他人,因此我希望:
1)更改密码,以便与其他人共享并让他们签名2)创建一个不同的密码并允许他们用它签名。
这有可能吗?如果是,怎么办?
密钥库只有一个密码。您可以使用keytool进行更改:
keytool -storepasswd -keystore my.keystore
要更改密钥的密码:
keytool -keypasswd -alias -keystore my.keystore
太好了,那么APK的签名是一样的?密码会改变吗?这也是我需要的。选择了一个错误的密码,现在需要更改它。
签名不会改变,因为应用程序不是用密钥库签名的,而是用您保存在密钥库中的证书。
什么是keyname?
keyname是别名的名称,例如-alias dipu
要删除密钥的密码,必须设置与密钥库相同的密码,这可能对某些人有用;-)
这是否也适用于.jks?我的密钥库是由Android Studio生成的.jks
@ CODigoTutoRealEDCX1(0)代表Java密钥库,这是一回事。
@贝里斯塔+1的男人谁混搭点的I和跨T的!
找到了这个工具,它可以更直观地查看jks文件keystore-explorer.org/index.html
[How can I] Change the password, so I can share it with others and let them sign
使用KEYTo刀:
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 -keystore my.keystore更改私钥的密码
在输入keystore pass-changeit之后,它会给出错误keytool错误:java.io.ioexception:keystore被篡改,或密码不正确
@迪普,我也犯了同样的错误。你解决了吗
您可以再次运行完全相同的命令来验证密码是否已更改(如果您有疑问)。在提示输入现有密码后,如果输入的密码不正确,则说明输入的密码错误,或者文件已被篡改并中止。
更改密钥库密码
$ keytool -storepasswd -keystore keystorename
Enter keystore password:
New keystore password:
Re-enter new keystore password:
更改密钥库别名密码
$keytool -keypasswd -keystore keystorename -alias aliasname
Enter keystore password:
New key password for :
Re-enter new key password for :
注:
**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
它起作用了,谢谢!还有一件事,我想添加更改别名,这是我想从一个论坛得到的。keytool-changealias-keystore my.keystore-alias my_name-destaalias my_new_name
更改别名密码时,我得到:不可恢复的密钥异常:无法恢复密钥有什么建议吗?
@你有没有发现这个问题?我也犯了同样的错误
更改密钥存储别名密码所显示的内容不起作用,它不会要求新的密钥密码。它要求现有的密码,在这种情况下不知道。
我还是在步骤中无法恢复密钥:新的密钥密码为:有什么想法吗?我刚在Android Studio中创建了密钥,上传后,意识到我必须更新一些东西,但现在它不起作用:/
要更改keystore mykeyfile内的密钥myalias的密码:
keytool -keystore mykeyfile -keypasswd -alias myalias
什么是"内钥匙"?
对不起,我的解释不好。您可以更改密钥库的密码或存储在密钥库中的某个密钥的密码。这就是我所说的"内门钥匙"。
如果密钥库包含其他具有不同密码的密钥项,您还必须更改它们,或者您可以使用下面的命令将密钥隔离到不同的密钥库。
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)打开.jks所在的终端和CD
2)keytool-storepasswd-新密码-keystore yourkeystore.jks
3)输入当前密码
密钥库资源管理器是Java命令行实用工具密钥工具和JARSENER的开源GUI替换。keystore explorer通过直观的图形用户界面展示了它们的功能等等。
打开现有的密钥库
工具->设置密钥库密码
对于完整的程序更改(例如安装程序),不提示
#!/bin/bash -eu
NEWPASSWORD=${1}
OLDPASSWORD=${2}
keytool -storepasswd -new"${NEWPASSWORD}" \
-storepass"${OLDPASSWORD}" \
-keystore /path/to/keystore
完全公开:我不建议在shell中运行此命令行,因为旧密码和新密码将保存在shell的历史记录中,并在控制台中可见。