summaryrefslogtreecommitdiffstats
path: root/core/java/android/hardware
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2015-04-28 20:05:53 -0700
committerAlex Klyubin <klyubin@google.com>2015-04-30 01:53:11 +0000
commitb62dc82b0c7208f106077b46fc7118da6baa6e13 (patch)
tree851e002e80d8ca3b587d49285a43f4c53d8e3ba1 /core/java/android/hardware
parent82863f137e2af5ef0f3ac3d30f2afaf4b2dca3f3 (diff)
downloadframeworks_base-b62dc82b0c7208f106077b46fc7118da6baa6e13.zip
frameworks_base-b62dc82b0c7208f106077b46fc7118da6baa6e13.tar.gz
frameworks_base-b62dc82b0c7208f106077b46fc7118da6baa6e13.tar.bz2
Add javax.crypto.Mac as a supported CryptoObject to Fingerprint
Fixes bug 20660180 Change-Id: I421c246ef776847835ede4be1d72721c35cf951c (cherry picked from commit 0ecd5c20d93c24251975f3ff7cb0494039e5ea20)
Diffstat (limited to 'core/java/android/hardware')
-rw-r--r--core/java/android/hardware/fingerprint/FingerprintManager.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java
index 2257b0a..9f344ad 100644
--- a/core/java/android/hardware/fingerprint/FingerprintManager.java
+++ b/core/java/android/hardware/fingerprint/FingerprintManager.java
@@ -42,6 +42,7 @@ import java.util.HashMap;
import java.util.List;
import javax.crypto.Cipher;
+import javax.crypto.Mac;
/**
* A class that coordinates access to the fingerprint hardware.
@@ -195,18 +196,26 @@ public class FingerprintManager {
/**
* A wrapper class for the crypto objects supported by FingerprintManager. Currently the
- * framework supports {@link Signature} and {@link Cipher} objects.
+ * framework supports {@link Signature}, {@link Cipher} and {@link Mac} objects.
*/
public static class CryptoObject {
- public CryptoObject(Signature signature) {
+ public CryptoObject(@NonNull Signature signature) {
mSignature = signature;
mCipher = null;
+ mMac = null;
}
- public CryptoObject(Cipher cipher) {
+ public CryptoObject(@NonNull Cipher cipher) {
mCipher = cipher;
mSignature = null;
+ mMac = null;
+ }
+
+ public CryptoObject(@NonNull Mac mac) {
+ mMac = mac;
+ mCipher = null;
+ mSignature = null;
}
/**
@@ -222,6 +231,12 @@ public class FingerprintManager {
public Cipher getCipher() { return mCipher; }
/**
+ * Get {@link Mac} object.
+ * @return {@link Mac} object or null if this doesn't contain one.
+ */
+ public Mac getMac() { return mMac; }
+
+ /**
* @hide
* @return the opId associated with this object or 0 if none
*/
@@ -230,12 +245,15 @@ public class FingerprintManager {
return AndroidKeyStoreProvider.getKeyStoreOperationHandle(mSignature);
} else if (mCipher != null) {
return AndroidKeyStoreProvider.getKeyStoreOperationHandle(mCipher);
+ } else if (mMac != null) {
+ return AndroidKeyStoreProvider.getKeyStoreOperationHandle(mMac);
}
return 0;
}
private final Signature mSignature;
private final Cipher mCipher;
+ private final Mac mMac;
};
/**