summaryrefslogtreecommitdiffstats
path: root/keystore/java/android/security/KeyStoreCipherSpi.java
diff options
context:
space:
mode:
authorAlex Klyubin <klyubin@google.com>2015-05-06 10:16:57 -0700
committerAlex Klyubin <klyubin@google.com>2015-05-06 10:16:57 -0700
commit9cfc428a244c8b2c7a404a430b1b3991b1950c62 (patch)
tree413c50c9cdb666c8697a48b499934baf7a572f1c /keystore/java/android/security/KeyStoreCipherSpi.java
parent28a516280a59a81aeecbf4a68057019d59feb872 (diff)
downloadframeworks_base-9cfc428a244c8b2c7a404a430b1b3991b1950c62.zip
frameworks_base-9cfc428a244c8b2c7a404a430b1b3991b1950c62.tar.gz
frameworks_base-9cfc428a244c8b2c7a404a430b1b3991b1950c62.tar.bz2
Keystore uses 0 for invalid operation handles.
This propagates the concept that 0 is an invalid crypto operation handle to the outside of AndroidKeyStore abstraction. Bug: 20864436 Change-Id: I1e5abb66c5d41d8fc32aac44372495a708c2b6e2
Diffstat (limited to 'keystore/java/android/security/KeyStoreCipherSpi.java')
-rw-r--r--keystore/java/android/security/KeyStoreCipherSpi.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/keystore/java/android/security/KeyStoreCipherSpi.java b/keystore/java/android/security/KeyStoreCipherSpi.java
index 20dd524..094aa75 100644
--- a/keystore/java/android/security/KeyStoreCipherSpi.java
+++ b/keystore/java/android/security/KeyStoreCipherSpi.java
@@ -134,7 +134,7 @@ public abstract class KeyStoreCipherSpi extends CipherSpi implements KeyStoreCry
* error conditions in between.
*/
private IBinder mOperationToken;
- private Long mOperationHandle;
+ private long mOperationHandle;
private KeyStoreCryptoOperationChunkedStreamer mMainDataStreamer;
/**
@@ -247,7 +247,7 @@ public abstract class KeyStoreCipherSpi extends CipherSpi implements KeyStoreCry
mIvHasBeenUsed = false;
mAdditionalEntropyForBegin = null;
mOperationToken = null;
- mOperationHandle = null;
+ mOperationHandle = 0;
mMainDataStreamer = null;
mCachedException = null;
}
@@ -258,7 +258,7 @@ public abstract class KeyStoreCipherSpi extends CipherSpi implements KeyStoreCry
mOperationToken = null;
mKeyStore.abort(operationToken);
}
- mOperationHandle = null;
+ mOperationHandle = 0;
mMainDataStreamer = null;
mAdditionalEntropyForBegin = null;
mCachedException = null;
@@ -322,6 +322,9 @@ public abstract class KeyStoreCipherSpi extends CipherSpi implements KeyStoreCry
if (mOperationToken == null) {
throw new IllegalStateException("Keystore returned null operation token");
}
+ if (mOperationHandle == 0) {
+ throw new IllegalStateException("Keystore returned invalid operation handle");
+ }
loadAlgorithmSpecificParametersFromBeginResult(keymasterOutputArgs);
mFirstOperationInitiated = true;
@@ -471,7 +474,7 @@ public abstract class KeyStoreCipherSpi extends CipherSpi implements KeyStoreCry
}
@Override
- public Long getOperationHandle() {
+ public long getOperationHandle() {
return mOperationHandle;
}