From 5e73c0eec2bc77222a5a87fb2a135d8303836411 Mon Sep 17 00:00:00 2001 From: Chad Brubaker Date: Sat, 21 Mar 2015 22:46:43 -0700 Subject: Make application/client id an object Having it as a raw byte[] caused issues in keystore because keymaster handles a null blob differently than a blob with null contents. Make this explicit in the API. Change-Id: Ifcf550f438608b8f09fc589d00d06fffa6ee463b --- keystore/java/android/security/KeyStore.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'keystore/java') diff --git a/keystore/java/android/security/KeyStore.java b/keystore/java/android/security/KeyStore.java index bfbf028..957e3c1 100644 --- a/keystore/java/android/security/KeyStore.java +++ b/keystore/java/android/security/KeyStore.java @@ -25,6 +25,7 @@ import android.os.ServiceManager; import android.security.keymaster.ExportResult; import android.security.keymaster.KeyCharacteristics; import android.security.keymaster.KeymasterArguments; +import android.security.keymaster.KeymasterBlob; import android.security.keymaster.OperationResult; import android.util.Log; @@ -403,7 +404,7 @@ public class KeyStore { return generateKey(alias, args, UID_SELF, flags, outCharacteristics); } - public int getKeyCharacteristics(String alias, byte[] clientId, byte[] appId, + public int getKeyCharacteristics(String alias, KeymasterBlob clientId, KeymasterBlob appId, KeyCharacteristics outCharacteristics) { try { return mBinder.getKeyCharacteristics(alias, clientId, appId, outCharacteristics); @@ -429,7 +430,8 @@ public class KeyStore { return importKey(alias, args, format, keyData, UID_SELF, flags, outCharacteristics); } - public ExportResult exportKey(String alias, int format, byte[] clientId, byte[] appId) { + public ExportResult exportKey(String alias, int format, KeymasterBlob clientId, + KeymasterBlob appId) { try { return mBinder.exportKey(alias, format, clientId, appId); } catch (RemoteException e) { -- cgit v1.1