Merge "Add missing mapping between JCA and keystore HMAC names."
diff --git a/keystore/java/android/security/AndroidKeyStoreProvider.java b/keystore/java/android/security/AndroidKeyStoreProvider.java
index 635b2fa..43f3b30 100644
--- a/keystore/java/android/security/AndroidKeyStoreProvider.java
+++ b/keystore/java/android/security/AndroidKeyStoreProvider.java
@@ -64,6 +64,7 @@
         putSecretKeyFactoryImpl("HmacSHA512");
 
         // javax.crypto.Mac
+        putMacImpl("HmacSHA1", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA1");
         putMacImpl("HmacSHA224", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA224");
         putMacImpl("HmacSHA256", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA256");
         putMacImpl("HmacSHA384", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA384");
diff --git a/keystore/java/android/security/KeyStoreKeyConstraints.java b/keystore/java/android/security/KeyStoreKeyConstraints.java
index 7f691fb..02108fd 100644
--- a/keystore/java/android/security/KeyStoreKeyConstraints.java
+++ b/keystore/java/android/security/KeyStoreKeyConstraints.java
@@ -213,8 +213,18 @@
                         throw new IllegalArgumentException("HMAC digest not specified");
                     }
                     switch (digest) {
+                        case Digest.MD5:
+                            return "HmacMD5";
+                        case Digest.SHA1:
+                            return "HmacSHA1";
+                        case Digest.SHA224:
+                            return "HmacSHA224";
                         case Digest.SHA256:
                             return "HmacSHA256";
+                        case Digest.SHA384:
+                            return "HmacSHA384";
+                        case Digest.SHA512:
+                            return "HmacSHA512";
                         default:
                             throw new IllegalArgumentException(
                                     "Unsupported HMAC digest: " + digest);