diff options
author | Jim Miller <jaggies@google.com> | 2015-04-28 20:05:53 -0700 |
---|---|---|
committer | Alex Klyubin <klyubin@google.com> | 2015-04-30 01:53:11 +0000 |
commit | b62dc82b0c7208f106077b46fc7118da6baa6e13 (patch) | |
tree | 851e002e80d8ca3b587d49285a43f4c53d8e3ba1 /core/java/android/hardware | |
parent | 82863f137e2af5ef0f3ac3d30f2afaf4b2dca3f3 (diff) | |
download | frameworks_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.java | 24 |
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; }; /** |