我的目标是生成一个证书,将其导出到一个文件中,然后导入到JDK keystore中。
在第一步中,我使用以下命令生成了一个自签名证书,为密钥库和密钥提供了密码作为' password‘:
keytool -genkeypair -keystore .keystore -alias uasera -keyalg RSA
在第二步中,我使用类似的密码和以下命令导出了证书:
keytool -exportcert -keystore .keystore -alias usera -file usera.crt
NOW!
我正在尝试使用类似的密码和下面的命令在JDK的cacerts中导入此证书,但得到异常。
keytool -importcert -file usera.crt -keypass password -keystore "C:\Program Files\Java\jdk1.7.0_13\jre\lib\security\cacerts"
错误
keytool -file usera.crt -keypass password -keystore "C:\Program Files\Java\jdk1.7.0_13\jre\lib\security\cacerts“输入密钥库密码: K:\java\certificates>keytool -importcert错误: java.io.IOException:密钥库被篡改,或密码不正确
发布于 2013-06-10 05:34:25
我已经把这个问题解决了。我使用我的密码' password‘来更新JDK中的cacerts keystore,而cacerts keystore的默认密码是’‘。
发布于 2019-09-25 17:33:18
如果你能够在PC上构建你的应用,但是你不记得密码,下面是你可以做的来找回密码的方法:
方法1:
在build.gradle中,添加println MYAPP_RELEASE_KEY_PASSWORD
,如下所示:
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
println MYAPP_RELEASE_KEY_PASSWORD
}
}
}
之后,运行cd android && ./gradlew assembleRelease
方法二:
运行keytool -list -v -keystore your <.keystore file path
>例如keytool -list -v -keystore ./app/my-app-key.keystore。
它将要求您输入密钥库密码:只需在此处按Enter键即可。您将能够找到映射到别名的名称:
然后,运行grep -rn "<your alias name>"
。在您的终端中,您将能够看到您的signing.json文件,如下所示:
./app/build/intermediates/signing_config/release/out/signing-config.json
该文件将包含json格式的密码和密钥"mKeyPassword":" < your password > "
https://stackoverflow.com/questions/16965453
复制相似问题