diff --git a/Applet/src/com/android/javacard/keymaster/KMAsn1Parser.java b/Applet/src/com/android/javacard/keymaster/KMAsn1Parser.java index 9d801044..be6590e3 100644 --- a/Applet/src/com/android/javacard/keymaster/KMAsn1Parser.java +++ b/Applet/src/com/android/javacard/keymaster/KMAsn1Parser.java @@ -168,20 +168,21 @@ public short decodeRsaPrivateKey(short version){ len = header(ASN1_INTEGER); short modulus = KMByteBlob.instance(len); getBytes(modulus); - updateModulus(modulus); + updateRsaKeyBuffer(modulus); len = header(ASN1_INTEGER); short pubKey = KMByteBlob.instance(len); getBytes(pubKey); len = header(ASN1_INTEGER); short privKey = KMByteBlob.instance(len); getBytes(privKey); + updateRsaKeyBuffer(privKey); KMArray.cast(resp).add((short)0, modulus); KMArray.cast(resp).add((short)1, pubKey); KMArray.cast(resp).add((short)2, privKey); return resp; } - private void updateModulus(short blob) { + private void updateRsaKeyBuffer(short blob) { byte[] buffer = KMByteBlob.cast(blob).getBuffer(); short startOff = KMByteBlob.cast(blob).getStartOff(); short len = KMByteBlob.cast(blob).length();