Encode() With Private Key In "androidkeystore" Return Null
With Android 4.3, this code return null. KeyStore keyStore = KeyStore.getInstance('AndroidKeyStore'); keyStore.load(null); keyStore.setKeyEntry(alias, privateKey, null, certificate
Solution 1:
The Android KeyChain API prevents you from being able to get an encoded private key.
See the method at line 158 of OpenSSLRSAPrivateKey.java
@Overridepublicfinal BigInteger getPrivateExponent() {
if (key.isEngineBased()) {
thrownewUnsupportedOperationException("private exponent cannot be extracted");
}
But the benefit of using the KeyChain API is that it provides system-wide credential storage. Any app should be able to retrieve the key pair and certificate by its alias. Refer to the KeyStore docs.
Post a Comment for "Encode() With Private Key In "androidkeystore" Return Null"