Android - 从密钥库导出单个密钥/别名

时间:2016-06-01 07:36:32

标签: android android-keystore

我有一个密钥库(JKS),其中包含许多用于不同应用程序的密钥条目/别名。 现在一个应用程序将被移动到另一个开发人员,我想为他导出/提取单个键/别名。

> keytool.exe -list -keystore Keystorefile

Keystore-type: JKS
Keystore-provider: SUN

Keystore contains 6 entries

Appname1, 01.07.20XX, PrivateKeyEntry,
certificate-Fingerprint (SHA1): AA:BB:CC:DD:EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:Q
Q:RR:SS:TT
Appname2, 29.05.20XX, PrivateKeyEntry,
certificate-Fingerprint (SHA1): AA:BB:CC:DD:EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:Q
Q:RR:SS:TT
Appname3, 30.09.20XX, PrivateKeyEntry,
certificate-Fingerprint (SHA1): AA:BB:CC:DD:EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:Q
Q:RR:SS:TT
Appname4, 18.02.20XX, PrivateKeyEntry,
certificate-Fingerprint (SHA1): AA:BB:CC:DD:EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:Q
Q:RR:SS:TT
Appname5, 09.08.20XX, PrivateKeyEntry,
certificate-Fingerprint (SHA1): AA:BB:CC:DD:EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:Q
Q:RR:SS:TT
Appname6, 11.02.20XX, PrivateKeyEntry,
certificate-Fingerprint (SHA1): AA:BB:CC:DD:EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:Q
Q:RR:SS:TT

这是我的Keystore的输出,现在我只想导出Appname2的密钥。如果可能的话,这可以在另一个Keystore中导入。

谢谢!

1 个答案:

答案 0 :(得分:7)

这比导出证书(可以使用-exportcert导出)更有条理,因为您需要使用-importkeystore并使用要“导出”的密钥创建新的密钥库,即

  

keytool -importkeystore -srckeystore keystore.jks -destkeystore   keystore.p12 -deststoretype PKCS12 -srcalias ALIAS -deststorepass PASS   -destkeypass PASS

或者,您可以只复制当前的密钥库文件,然后从中删除所有密钥,但要删除要导出的密钥。

您还可以查看Keystore Explorer工具