Merge "Add missing mapping between JCA and keystore HMAC names."

This commit is contained in:
Alex Klyubin
2015-04-09 19:57:12 +00:00
committed by Gerrit Code Review
2 changed files with 11 additions and 0 deletions

View File

@@ -64,6 +64,7 @@ public class AndroidKeyStoreProvider extends Provider {
putSecretKeyFactoryImpl("HmacSHA512"); putSecretKeyFactoryImpl("HmacSHA512");
// javax.crypto.Mac // javax.crypto.Mac
putMacImpl("HmacSHA1", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA1");
putMacImpl("HmacSHA224", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA224"); putMacImpl("HmacSHA224", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA224");
putMacImpl("HmacSHA256", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA256"); putMacImpl("HmacSHA256", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA256");
putMacImpl("HmacSHA384", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA384"); putMacImpl("HmacSHA384", PACKAGE_NAME + ".KeyStoreHmacSpi$HmacSHA384");

View File

@@ -213,8 +213,18 @@ public abstract class KeyStoreKeyConstraints {
throw new IllegalArgumentException("HMAC digest not specified"); throw new IllegalArgumentException("HMAC digest not specified");
} }
switch (digest) { switch (digest) {
case Digest.MD5:
return "HmacMD5";
case Digest.SHA1:
return "HmacSHA1";
case Digest.SHA224:
return "HmacSHA224";
case Digest.SHA256: case Digest.SHA256:
return "HmacSHA256"; return "HmacSHA256";
case Digest.SHA384:
return "HmacSHA384";
case Digest.SHA512:
return "HmacSHA512";
default: default:
throw new IllegalArgumentException( throw new IllegalArgumentException(
"Unsupported HMAC digest: " + digest); "Unsupported HMAC digest: " + digest);