diff options
Diffstat (limited to 'repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/symmetric/AES.java')
-rw-r--r-- | repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/symmetric/AES.java | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/symmetric/AES.java b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/symmetric/AES.java index 604cd08c..9e2a493d 100644 --- a/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/symmetric/AES.java +++ b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/symmetric/AES.java @@ -27,6 +27,7 @@ import com.android.org.bouncycastle.crypto.BlockCipher; import com.android.org.bouncycastle.crypto.BufferedBlockCipher; import com.android.org.bouncycastle.crypto.CipherKeyGenerator; import com.android.org.bouncycastle.crypto.CipherParameters; +import com.android.org.bouncycastle.crypto.CryptoServicesRegistrar; import com.android.org.bouncycastle.crypto.DataLengthException; import com.android.org.bouncycastle.crypto.InvalidCipherTextException; import com.android.org.bouncycastle.crypto.Mac; @@ -56,6 +57,7 @@ import com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseKeyGenera // import org.bouncycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory; import com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseWrapCipher; import com.android.org.bouncycastle.jcajce.provider.symmetric.util.BlockCipherProvider; +import com.android.org.bouncycastle.jcajce.provider.symmetric.util.GcmSpecUtil; import com.android.org.bouncycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters; import com.android.org.bouncycastle.jcajce.provider.symmetric.util.PBESecretKeyFactory; import com.android.org.bouncycastle.jcajce.spec.AEADParameterSpec; @@ -159,7 +161,7 @@ public final class AES { public CCM() { - super(new CCMBlockCipher(new AESEngine()), false, 16); + super(new CCMBlockCipher(new AESEngine()), false, 12); } } @@ -594,7 +596,7 @@ public final class AES if (random == null) { - random = new SecureRandom(); + random = CryptoServicesRegistrar.getSecureRandom(); } random.nextBytes(iv); @@ -907,6 +909,8 @@ public final class AES public void configure(ConfigurableProvider provider) { + // BEGIN Android-removed: Unsupported algorithms + /* provider.addAlgorithm("AlgorithmParameters.AES", PREFIX + "$AlgParams"); provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + wrongAES128, "AES"); provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + wrongAES192, "AES"); @@ -919,9 +923,7 @@ public final class AES provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + NISTObjectIdentifiers.id_aes128_GCM, "GCM"); provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + NISTObjectIdentifiers.id_aes192_GCM, "GCM"); provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + NISTObjectIdentifiers.id_aes256_GCM, "GCM"); - - // BEGIN Android-removed: Unsupported algorithms - /* + provider.addAlgorithm("AlgorithmParameters.CCM", PREFIX + "$AlgParamsCCM"); provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + NISTObjectIdentifiers.id_aes128_CCM, "CCM"); provider.addAlgorithm("Alg.Alias.AlgorithmParameters." + NISTObjectIdentifiers.id_aes192_CCM, "CCM"); @@ -993,20 +995,14 @@ public final class AES provider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator." + NISTObjectIdentifiers.id_aes128_GCM, "GCM"); provider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator." + NISTObjectIdentifiers.id_aes192_GCM, "GCM"); provider.addAlgorithm("Alg.Alias.AlgorithmParameterGenerator." + NISTObjectIdentifiers.id_aes256_GCM, "GCM"); - */ - // END Android-removed: Unsupported algorithms - - // BEGIN Android-changed: Use standard name for AES/GCM/NOPADDING instead of "GCM" + provider.addAttributes("Cipher.AES/GCM/NOPADDING", generalAesAttributes); provider.addAlgorithm("Cipher.AES/GCM/NOPADDING", PREFIX + "$GCM"); provider.addAlgorithm("Alg.Alias.Cipher." + NISTObjectIdentifiers.id_aes128_GCM, "AES/GCM/NOPADDING"); provider.addAlgorithm("Alg.Alias.Cipher." + NISTObjectIdentifiers.id_aes192_GCM, "AES/GCM/NOPADDING"); provider.addAlgorithm("Alg.Alias.Cipher." + NISTObjectIdentifiers.id_aes256_GCM, "AES/GCM/NOPADDING"); - // END Android-changed: Use standard name for AES/GCM/NOPADDING instead of "GCM" - + provider.addAlgorithm("KeyGenerator.AES", PREFIX + "$KeyGen"); - // BEGIN Android-removed: Unsupported algorithms - /* provider.addAlgorithm("KeyGenerator." + wrongAES128, PREFIX + "$KeyGen128"); provider.addAlgorithm("KeyGenerator." + wrongAES192, PREFIX + "$KeyGen192"); provider.addAlgorithm("KeyGenerator." + wrongAES256, PREFIX + "$KeyGen256"); |