Nar*_*tor 33 android keytool jarsigner
我正在自动化一些涉及android keytool和jarsigner的东西.该工具获取密钥库,密钥库的密码,别名和别名/密钥的密码,我正在尝试找到一种方法来显式检查别名/密钥的提供密码是否正确.
有任何想法吗?另外,我需要在没有jar文件的情况下检查它 - 在我的上下文中获取该文件很长,所以我想早点而不是晚点中止.
Jef*_*Fay 57
您也可以在不尝试更改密码的情况下检查密码是否正确.我通过使用此命令列出密钥库的属性来完成它:
keytool -list -keystore <keystorefile> -storepass <passwordtocheck>
Run Code Online (Sandbox Code Playgroud)
rxg*_*rxg 20
您可以通过以下几种方式实现:
A.随着 keytool
如果您运行该命令,keytool -keypasswd -keystore <keystore> -alias <alias> -storepass <storepass> -keypass <keypass> -new <keypass>那么Keystore was tampered with, or password was incorrect如果密钥库密码错误,您将收到错误,Cannot recover key如果别名密码错误,则会收到错误.不幸的是,在这两种情况下返回代码都是1,因此如果您想要了解错误类型,则需要解析程序的输出.
B.使用小型Java程序
这些方面的东西:
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
try (FileInputStream fis = new FileInputStream(keystore)) {
ks.load(fis, ksPw.toCharArray());
}
ks.getEntry(alias, new KeyStore.PasswordProtection(aliasPw.toCharArray()));
Run Code Online (Sandbox Code Playgroud)
java.io.IOException如果密钥库密码错误,则在第4行将失败; java.security.UnrecoverableKeyException如果别名密码错误,则在第7行失败.
| 归档时间: |
|
| 查看次数: |
18653 次 |
| 最近记录: |