Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 密钥库更改密码_Java_Keystore - Fatal编程技术网

Java 密钥库更改密码

Java 密钥库更改密码,java,keystore,Java,Keystore,我目前有一个密钥库,有一个只有我知道的特定密码。我现在需要将访问该密钥库的权限授予其他人,因此我希望: 1) 更改密码,以便我可以与其他人共享并让他们签名 2) 创建一个不同的密码并允许他们使用它进行签名 这可能吗?并且-如果是-如何?密钥库只有一个密码。您可以使用keytool进行更改: keytool -storepasswd -keystore my.keystore keytool -storepasswd -keystore /path/to/keystore Enter keyst

我目前有一个密钥库,有一个只有我知道的特定密码。我现在需要将访问该密钥库的权限授予其他人,因此我希望:

1) 更改密码,以便我可以与其他人共享并让他们签名
2) 创建一个不同的密码并允许他们使用它进行签名


这可能吗?并且-如果是-如何?

密钥库只有一个密码。您可以使用keytool进行更改:

keytool -storepasswd -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 -keypasswd  -alias <key_name> -keystore my.keystore
keytool-keypasswd-alias-keystore my.keystore
[如何]更改密码,以便与其他人共享并让他们签名

使用keytool:

keytool -storepasswd -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

要更改密钥库
mykeyfile
中密钥
myalias
的密码,请执行以下操作:

keytool -keystore mykeyfile -keypasswd -alias myalias

更改密钥库密码

$ 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>:

如果密钥库包含具有不同密码的其他密钥项,则还必须更改它们,或者可以使用以下命令将密钥隔离到不同的密钥库

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-NEWPASSWORD-keystoreyourkystore.jks

3) 输入当前密码

是Java命令行实用程序keytool和jarsigner的开源GUI替代品。keystoreexplorer通过直观的图形用户界面显示其功能等

  • 打开现有密钥库
  • 工具->设置密钥库密码

  • 对于完整的编程更改(如安装程序),无提示

    #!/bin/bash -eu
    
    NEWPASSWORD=${1}
    OLDPASSWORD=${2}
    
    keytool -storepasswd -new "${NEWPASSWORD}" \
      -storepass "${OLDPASSWORD}" \
      -keystore /path/to/keystore
    


    完全公开:我不建议在shell中运行此命令行,因为新旧密码将保存在shell的历史记录中,并在控制台中可见。

    太好了,那么apk的签名将是相同的吗?密码会改变吗?这也是我需要的。选择了一个错误的密码,现在需要更改它。签名不会更改,因为应用程序没有使用密钥库进行签名,而是使用您保存在密钥库中的证书进行签名。keyName是别名的名称,例如。-alias Diput要删除密钥的密码,必须设置与密钥库相同的密码,可能对某人有用;-)这是否也适用于
    .jks
    ?我的密钥库是由Android Studiod生成的.jks。这是否也会更改内部密钥的密码?不。密钥库是一回事,密码(注意复数)是另一回事。使用
    keytool-keypasswd-alias-keystore my.keystore
    在输入keystore pass-changeit后更改私钥的密码
    它会给出错误keytool错误:java.io.IOException:密钥库被篡改,或密码被删除incorrect@Dipu,我得到了同样的错误。您是否已设法解决了以下问题:您可以通过再次运行完全相同的命令来验证密码是否已更改(如果您有疑问)。在它提示输入现有密码后,如果您输入的密码不正确,它会说您输入了错误的密码,或者文件已被篡改并中止。什么是“内部密钥”?很抱歉我的错误解释。您可以更改密钥库的密码或存储在密钥库中的密钥之一的密码。这就是我说的“内钥匙”的意思。它很有效,谢谢!还有一件事我想补充,以改变别名,我想从一个论坛。keytool-changealis-keystore my.keystore-alias my_name-destalas my_new_name更改我获得的别名密码时:UnrecoverableKeyException:无法恢复密钥有什么建议吗?@Foo你发现过这个问题吗?我收到了相同的错误更改密钥库别名密码您显示的任何错误都不起作用,它不会要求新的密钥密码。在本例中,它会询问未知的现有密码。我仍然无法在步骤中恢复密钥:新密钥密码:有什么想法吗?我刚刚在Android Studio中创建了密钥,上传了,意识到我必须更新一些东西,但现在它不起作用了:/best solution!总比给终端写信好。使用这个软件,我可以更改密码并添加新的密钥对。极力推荐