我讀到雖然在舊版本上它有效,但Android 4.1上的方法KeyChain.getPrivateKey(Context,String)存在問題。有人有解決方法如何獲得JellyBean上的私人密鑰?Android 4.1上的KeyChain.getPrivateKey(Context,String)?
看到這個Using Android 4.1 Keychain,但不知何故無法與我的情況一起工作。
不適用於4.1的代碼,但在老版本上效果很好。
PrivateKey pk;
try {
pk = KeyChain.getPrivateKey(context,string);
byte[] pkByte = pk.getEncoded();
pkBase64 = new String(Base64.encode(pkByte, Base64.NO_WRAP));
}
編輯:發現,如果添加時,我不會改變證書別名(默認十六進制十六進制十六進制),然後getPrivateKey返回null,但是當我改變別名,例如,AAA方法返回的東西,但仍然不是正確的私鑰。 (例如,primeP = null primeQ = null返回的私鑰。在Android 4.0.4上,primeP和primeQ不是空值)
getPrivateKey在JB上比在不同的版本上返回不同的值。我需要的主要事情是獲得私鑰作爲字符串值。 JB可以嗎? – TomM
不可以,因爲我的答案中列出的原因無法完成。 – kroot