- changed title to Android: com.nimbusds.jose.JOSEException: Couldn't create AES/GCM/NoPadding cipher: unknown parameter type
Android: com.nimbusds.jose.JOSEException: Couldn't create AES/GCM/NoPadding cipher: unknown parameter type
I am trying to use Nimbus library nimbus-jose-jwt-4.5.jar for JWE. This fails to work on many Android devices giving below exception,
com.nimbusds.jose.JOSEException: Couldn't create AES/GCM/NoPadding cipher: unknown parameter type.
at com.nimbusds.jose.crypto.AESGCM.encrypt(AESGCM.java:93)
at com.nimbusds.jose.crypto.ContentCryptoProvider.encrypt(ContentCryptoProvider.java:169)
at com.nimbusds.jose.crypto.ECDHEncrypter.encrypt(ECDHEncrypter.java:149)
at com.nimbusds.jose.JWEObject.encrypt(JWEObject.java:353)
at com.sample.activity.MainActivity.onCreate(MainActivity.java:111)
at android.app.Activity.performCreate(Activity.java:5245)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2164)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249)
at android.app.ActivityThread.access$800(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5113)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.security.InvalidAlgorithmParameterException: unknown parameter type.
at com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineInit(BaseBlockCipher.java:559)
at javax.crypto.Cipher.init(Cipher.java:616)
at javax.crypto.Cipher.init(Cipher.java:566)
at com.nimbusds.jose.crypto.AESGCM.encrypt(AESGCM.java:89)
... 21 more
This issue is seen primarily on Android 4.4 devices. e.g.* HTC One M8(Verizon, OS: 4.4.2) * LG Nexus 4(OS: 4.4.3) etc..
My code to do JWE is pretty simple, below is the snippet,
ECKey publicKey = ECKey.parse(key);
ECDHEncrypter encrypter = new ECDHEncrypter(publicKey);
Payload payload = new Payload(data);
JWEHeader header = new JWEHeader(JWEAlgorithm.ECDH_ES,EncryptionMethod.A128GCM);
JWEObject jWEObject = new JWEObject(header, payload);
jWEObject.encrypt(encrypter);
While this works on many devices, it fails to work on many other devices. I tried to make use of latest Nimbus library nimbus-jose-jwt-4.13.1.jar and latest Bouncy Castle library bcprov-jdk15on-154.jar but the issue persist. Please help me resolve this.
Comments (12)
-
-
Can you verify that the BouncyCastle JCE provider is indeed activated? Because simply adding the JAR won't do.
You need something like
java.security.Security.addProvider(com.nimbusds.jose.crypto.bc.BouncyCastleProviderSingleton.getInstance());
You can then dump the available crypto algs:
http://stackoverflow.com/questions/9333504/how-can-i-list-the-available-cipher-algorithms
-
I called above API also, but the issue remains as it is. Further, I dumped the available crypto algs, its huge (587), and apparently some duplicates. Will dumping the crypto algs will be of any help to you?
-
Yes, please post the alg list, even if it's long.
Regarding alg support, the Nimbus JOSE+JWT lib delegates AES/GCM/NoPadding processing to the underlying JCA impl. Now why BouncyCastle succeeds on some platforms with this fails on others, we cannot explain. Technically the code is Java, so the platform shouldn't matter. Perhaps a BouncyCastle maintainer or some one more familiar with security on Android can help out with this.
-
Android has a strip down version of BouncyCastle , you could probably try org.spongycastle.*
-
please find below the alg list.
Alg.Alias.Signature.SHA-1/RSA SHA1WithRSA SecureRandom.SHA1PRNG ImplementedIn Software Alg.Alias.Signature.SHA/DSA SHA1withDSA Alg.Alias.Signature.2.16.840.1.101.3.4.2.2with1.2.840.10045.2.1 SHA384withECDSA Alg.Alias.Signature.2.16.840.1.101.3.4.2.3with1.2.840.10045.2.1 SHA512withECDSA SSLContext.TLS com.android.org.conscrypt.OpenSSLContextImpl Signature.SHA256WithRSA com.android.org.conscrypt.OpenSSLSignature$SHA256RSA Alg.Alias.Signature.MD5/RSA MD5WithRSA Alg.Alias.Signature.1.2.840.113549.1.1.11 SHA256WithRSA Alg.Alias.Signature.1.2.840.113549.1.1.5 SHA1WithRSA Alg.Alias.MessageDigest.1.3.14.3.2.26 SHA-1 Alg.Alias.Mac.HMAC/SHA1 HmacSHA1 Alg.Alias.Signature.SHA256WithRSAEncryption SHA256WithRSA Alg.Alias.Signature.SHA384WithRSAEncryption SHA384WithRSA Alg.Alias.Signature.1.2.840.113549.1.1.4 MD5WithRSA Alg.Alias.Signature.SHA1/RSA SHA1WithRSA Signature.SHA256withECDSA com.android.org.conscrypt.OpenSSLSignature$SHA256ECDSA KeyFactory.EC com.android.org.conscrypt.OpenSSLECKeyFactory KeyPairGenerator.DSA com.android.org.conscrypt.OpenSSLDSAKeyPairGenerator Cipher.DESEDE/OFB/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$DESEDE$OFB$PKCS5Padding Signature.SHA1withDSA com.android.org.conscrypt.OpenSSLSignature$SHA1DSA Cipher.DESEDE/ECB/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$DESEDE$ECB$PKCS5Padding CertificateFactory.X509 com.android.org.conscrypt.OpenSSLX509CertificateFactory Alg.Alias.Signature.2.16.840.1.101.3.4.2.1with1.2.840.113549.1.1.11 SHA256WithRSA Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1.1 RSA Mac.HmacSHA1 com.android.org.conscrypt.OpenSSLMac$HmacSHA1 Mac.HmacSHA512 com.android.org.conscrypt.OpenSSLMac$HmacSHA512 SSLContext.TLSv1.1 com.android.org.conscrypt.OpenSSLContextImpl Signature.SHA512withECDSA com.android.org.conscrypt.OpenSSLSignature$SHA512ECDSA Alg.Alias.Signature.SHA512WithRSAEncryption SHA512WithRSA Cipher.AES/CBC/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$AES$CBC$PKCS5Padding Cipher.DESEDE/CFB/NoPadding com.android.org.conscrypt.OpenSSLCipher$DESEDE$CFB$NoPadding Alg.Alias.MessageDigest.SHA512 SHA-512 Signature.SHA384WithRSA com.android.org.conscrypt.OpenSSLSignature$SHA384RSA Alg.Alias.Signature.MD5WithRSAEncryption MD5WithRSA Provider.id className com.android.org.conscrypt.OpenSSLProvider KeyAgreement.ECDH com.android.org.conscrypt.OpenSSLECDHKeyAgreement SecureRandom.SHA1PRNG com.android.org.conscrypt.OpenSSLRandom Alg.Alias.Signature.1.2.840.113549.1.1.13 SHA512WithRSA Alg.Alias.Mac.HMAC/SHA384 HmacSHA384 Signature.SHA1WithRSA com.android.org.conscrypt.OpenSSLSignature$SHA1RSA Signature.SHA512WithRSA com.android.org.conscrypt.OpenSSLSignature$SHA512RSA Alg.Alias.Signature.2.16.840.1.101.3.4.2.3with1.2.840.113549.1.1.1 SHA512WithRSA Alg.Alias.Signature.1.2.840.10045.4.3.3 SHA384withECDSA Alg.Alias.MessageDigest.SHA384 SHA-384 KeyPairGenerator.RSA com.android.org.conscrypt.OpenSSLRSAKeyPairGenerator Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.1 SHA-256 Cipher.AES/ECB/NoPadding com.android.org.conscrypt.OpenSSLCipher$AES$ECB$NoPadding Alg.Alias.Mac.1.2.840.113549.2.11 HmacSHA512 Cipher.AES/CTR/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$AES$CTR$PKCS5Padding SSLContext.SSLv3 com.android.org.conscrypt.OpenSSLContextImpl Alg.Alias.Mac.HMAC/SHA512 HmacSHA512 Alg.Alias.Cipher.RSA/None/NoPadding RSA/ECB/NoPadding SSLContext.SSL com.android.org.conscrypt.OpenSSLContextImpl Mac.HmacSHA384 com.android.org.conscrypt.OpenSSLMac$HmacSHA384 Provider.id name AndroidOpenSSL MessageDigest.SHA-512 com.android.org.conscrypt.OpenSSLMessageDigestJDK$SHA512 Alg.Alias.Signature.1.2.840.113549.2.5with1.2.840.113549.1.1.1 MD5WithRSA Alg.Alias.Mac.HMAC-SHA1 HmacSHA1 Cipher.AES/OFB/NoPadding com.android.org.conscrypt.OpenSSLCipher$AES$OFB$NoPadding KeyFactory.DSA com.android.org.conscrypt.OpenSSLDSAKeyFactory Cipher.AES/OFB/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$AES$OFB$PKCS5Padding Mac.HmacMD5 com.android.org.conscrypt.OpenSSLMac$HmacMD5 Alg.Alias.Mac.1.2.840.113549.2.9 HmacSHA256 Cipher.DESEDE/ECB/NoPadding com.android.org.conscrypt.OpenSSLCipher$DESEDE$ECB$NoPadding MessageDigest.SHA-384 com.android.org.conscrypt.OpenSSLMessageDigestJDK$SHA384 Cipher.AES/CBC/NoPadding com.android.org.conscrypt.OpenSSLCipher$AES$CBC$NoPadding MessageDigest.MD5 com.android.org.conscrypt.OpenSSLMessageDigestJDK$MD5 Alg.Alias.Mac.HMAC/SHA256 HmacSHA256 Alg.Alias.Signature.DSAWithSHA1 SHA1withDSA Signature.NONEwithRSA com.android.org.conscrypt.OpenSSLSignatureRawRSA SSLContext.TLSv1 com.android.org.conscrypt.OpenSSLContextImpl Cipher.RSA/ECB/NoPadding com.android.org.conscrypt.OpenSSLCipherRSA$Raw Provider.id version 1.0 Alg.Alias.Mac.HMAC-SHA384 HmacSHA384 MessageDigest.SHA-256 com.android.org.conscrypt.OpenSSLMessageDigestJDK$SHA256 Alg.Alias.Signature.2.16.840.1.101.3.4.2.1with1.2.840.10045.2.1 SHA256withECDSA Cipher.AES/CFB/NoPadding com.android.org.conscrypt.OpenSSLCipher$AES$CFB$NoPadding Alg.Alias.Mac.1.2.840.113549.2.10 HmacSHA384 Alg.Alias.Mac.1.2.840.113549.2.7 HmacSHA1 Alg.Alias.Signature.2.16.840.1.101.3.4.2.1with1.2.840.113549.1.1.1 SHA256WithRSA Alg.Alias.MessageDigest.SHA256 SHA-256 Alg.Alias.Signature.1.2.840.113549.1.1.12 SHA384WithRSA Cipher.DESEDE/CFB/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$DESEDE$CFB$PKCS5Padding KeyFactory.RSA com.android.org.conscrypt.OpenSSLRSAKeyFactory Cipher.AES/CTR/NoPadding com.android.org.conscrypt.OpenSSLCipher$AES$CTR$NoPadding Alg.Alias.Signature.2.16.840.1.101.3.4.2.2with1.2.840.113549.1.1.1 SHA384WithRSA Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10045.2.1 ECDSA Alg.Alias.MessageDigest.1.2.840.113549.2.5 MD5 Alg.Alias.Mac.HMAC-SHA256 HmacSHA256 KeyPairGenerator.EC com.android.org.conscrypt.OpenSSLECKeyPairGenerator Signature.MD5WithRSA com.android.org.conscrypt.OpenSSLSignature$MD5RSA Alg.Alias.CertificateFactory.X.509 X509 MessageDigest.SHA-1 com.android.org.conscrypt.OpenSSLMessageDigestJDK$SHA1 Cipher.DESEDE/OFB/NoPadding com.android.org.conscrypt.OpenSSLCipher$DESEDE$OFB$NoPadding Alg.Alias.Mac.HMAC-SHA512 HmacSHA512 Alg.Alias.Signature.SHA1withECDSA ECDSA Alg.Alias.Signature.1.2.840.10045.4.3.2 SHA256withECDSA Cipher.DESEDE/CBC/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$DESEDE$CBC$PKCS5Padding Alg.Alias.Signature.ECDSAwithSHA1 ECDSA Alg.Alias.Signature.SHA1WithRSAEncryption SHA1WithRSA Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.3 SHA-512 Cipher.ARC4 com.android.org.conscrypt.OpenSSLCipher$ARC4 Cipher.AES/CFB/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$AES$CFB$PKCS5Padding Alg.Alias.Signature.1.2.840.10045.4.3.4 SHA512withECDSA Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.113549.1.1.1 SHA1WithRSA Alg.Alias.Cipher.RSA/None/PKCS1Padding RSA/ECB/PKCS1Padding Cipher.AES/ECB/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$AES$ECB$PKCS5Padding Alg.Alias.Signature.1.2.840.10045.4.1 ECDSA Provider.id info Android's OpenSSL-backed security provider SSLContext.TLSv1.2 com.android.org.conscrypt.OpenSSLContextImpl Cipher.DESEDE/CBC/NoPadding com.android.org.conscrypt.OpenSSLCipher$DESEDE$CBC$NoPadding Alg.Alias.Signature.1.2.840.10040.4.3 SHA1withDSA Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.2 SHA-384 Alg.Alias.Signature.1.3.14.3.2.29 SHA1WithRSA Mac.HmacSHA256 com.android.org.conscrypt.OpenSSLMac$HmacSHA256 Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.3 SHA1withDSA SSLContext.Default com.android.org.conscrypt.DefaultSSLContextImpl Alg.Alias.MessageDigest.SHA SHA-1 Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.1 SHA1withDSA Alg.Alias.Signature.DSA SHA1withDSA Signature.ECDSA com.android.org.conscrypt.OpenSSLSignature$SHA1ECDSA Alg.Alias.KeyFactory.1.2.840.113549.1.1.1 RSA Cipher.RSA/ECB/PKCS1Padding com.android.org.conscrypt.OpenSSLCipherRSA$PKCS1 Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.113549.1.1.5 SHA1WithRSA Alg.Alias.MessageDigest.SHA1 SHA-1 Signature.SHA384withECDSA com.android.org.conscrypt.OpenSSLSignature$SHA384ECDSA Provider.id info ASN.1, DER, PkiPath, PKCS7 Provider.id name DRLCertFactory Alg.Alias.CertificateFactory.X.509 X509 Provider.id className org.apache.harmony.security.provider.cert.DRLCertFactory CertificateFactory.X509 org.apache.harmony.security.provider.cert.X509CertFactoryImpl Provider.id version 1.0 Alg.Alias.KeyGenerator.2.16.840.1.101.3.4.2.1 HMACSHA256 Alg.Alias.KeyGenerator.1.2.840.113549.3.4 ARC4 Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.3029.1.2 BLOWFISH Alg.Alias.Signature.SHA256WITHRSAENCRYPTION SHA256WITHRSA Alg.Alias.Signature.1.2.840.113549.1.1.5 SHA1WITHRSA Alg.Alias.AlgorithmParameters.PBEWITHSHAANDDES3KEY-CBC PKCS12PBE Alg.Alias.Mac.HMAC/SHA1 HMACSHA1 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.1 PKCS12PBE Alg.Alias.KeyGenerator.HMAC/SHA1 HMACSHA1 SecretKeyFactory.PBEWITHSHA1ANDDES com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithSHA1KeyFactory KeyAgreement.DH com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyAgreementSpi Cipher.PBEWITHSHAAND128BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Cipher.PBEWITHSHA1ANDRC2 com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHA1AndRC2 Alg.Alias.KeyPairGenerator.2.5.8.1.1 RSA Alg.Alias.KeyGenerator.HMAC-SHA512 HMACSHA512 KeyPairGenerator.DSA com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyPairGeneratorSpi Alg.Alias.Cipher.PBEWITHSHA1AND40BITRC2-CBC PBEWITHSHAAND40BITRC2-CBC Alg.Alias.AlgorithmParameterGenerator.1.2.840.10040.4.1 DSA Alg.Alias.Signature.SHA512WithECDSA SHA512WITHECDSA Alg.Alias.SecretKeyFactory.PBEWITHSHA1AND128BITAES-CBC-BC PBEWITHSHAAND128BITAES-CBC-BC Alg.Alias.KeyGenerator.1.2.840.113549.2.10 HMACSHA384 Signature.SHA512WITHECDSA com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi$ecDSA512 Alg.Alias.Signature.SHA256withRSAEncryption SHA256WITHRSA Alg.Alias.MessageDigest.SHA512 SHA-512 Alg.Alias.Signature.SHA512withECDSA SHA512WITHECDSA Alg.Alias.AlgorithmParameters.PBEWITHSHA-1AND128BITAES-CBC-BC PKCS12PBE Alg.Alias.Signature.MD5WithRSAEncryption MD5WITHRSA Alg.Alias.Signature.1.2.840.113549.1.1.13 SHA512WITHRSA Alg.Alias.Cipher.PBEWITHSHA1AND128BITAES-CBC-BC PBEWITHSHAAND128BITAES-CBC-BC SecretKeyFactory.PBEWITHSHAAND40BITRC4 com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd40BitKeyFactory Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.2 PBEWITHSHAAND40BITRC4 Alg.Alias.AlgorithmParameters.PBEWITHSHAANDRC2 PKCS12PBE Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.1 SHA-256 Alg.Alias.AlgorithmParameters.PBEWITHSHA1AND128BITAES-CBC-BC PKCS12PBE Alg.Alias.Signature.SHA256withRSA SHA256WITHRSA CertPathBuilder.PKIX com.android.org.bouncycastle.jce.provider.PKIXCertPathBuilderSpi Mac.HMACSHA1 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$HashMac Alg.Alias.Cipher.1.3.6.1.4.1.22554.1.1.2.1.2 PBEWITHSHAAND128BITAES-CBC-BC Alg.Alias.KeyStore.UBER BouncyCastle Alg.Alias.KeyStore.bouncycastle BouncyCastle Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.42 AES AlgorithmParameters.OAEP com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.AlgorithmParametersSpi$OAEP Alg.Alias.AlgorithmParameterGenerator.DIFFIEHELLMAN DH Alg.Alias.Cipher.1.2.840.113549.1.12.1.6 PBEWITHSHAAND40BITRC2-CBC Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.6 PKCS12PBE KeyPairGenerator.DH com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyPairGeneratorSpi MessageDigest.SHA-384 com.android.org.bouncycastle.jcajce.provider.digest.SHA384$Digest Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.2 AES KeyGenerator.ARC4 com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$KeyGen Alg.Alias.KeyPairGenerator.1.3.133.16.840.63.0.2 EC Alg.Alias.Signature.SHA1WITHDSA SHA1withDSA Alg.Alias.Signature.1.3.14.3.2.27 SHA1withDSA Provider.id version 1.49 Alg.Alias.Mac.HMAC-SHA384 HMACSHA384 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.4 PKCS12PBE AlgorithmParameterGenerator.DH com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.AlgorithmParameterGeneratorSpi Alg.Alias.Signature.OID.1.2.840.113549.1.1.11 SHA256WITHRSA Alg.Alias.SecretKeyFactory.1.3.6.1.4.1.22554.1.2.1.2.1.42 PBEWITHSHA256AND256BITAES-CBC-BC SecretKeyFactory.PBEWITHMD5ANDDES com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithMD5KeyFactory Alg.Alias.Mac.1.2.840.113549.2.7 HMACSHA1 Alg.Alias.MessageDigest.SHA256 SHA-256 Alg.Alias.KeyGenerator.HMAC/MD5 HMACMD5 Alg.Alias.SecretKeyFactory.1.3.6.1.4.1.22554.1.2.1.2.1.22 PBEWITHSHA256AND192BITAES-CBC-BC Alg.Alias.KeyGenerator.HMAC-SHA384 HMACSHA384 Alg.Alias.Signature.SHA1WithECDSA ECDSA Alg.Alias.Cipher.1.2.840.113549.1.12.1.4 PBEWITHSHAAND2-KEYTRIPLEDES-CBC Alg.Alias.AlgorithmParameters.DIFFIEHELLMAN DH Alg.Alias.Cipher.PBEWITHSHA1ANDDESEDE PBEWITHSHAAND3-KEYTRIPLEDES-CBC Alg.Alias.Mac.HMAC-SHA256 HMACSHA256 Alg.Alias.AlgorithmParameters.PBEWITHSHA-1AND192BITAES-CBC-BC PKCS12PBE KeyPairGenerator.EC com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC Alg.Alias.Cipher.PBEWithSHAAnd3KeyTripleDES PBEWITHSHAAND3-KEYTRIPLEDES-CBC MessageDigest.SHA-1 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$Digest KeyGenerator.HMACSHA512 com.android.org.bouncycastle.jcajce.provider.digest.SHA512$KeyGenerator Alg.Alias.AlgorithmParameters.1.2.840.113549.3.7 DESEDE AlgorithmParameters.DSA com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.AlgorithmParametersSpi Alg.Alias.KeyGenerator.TDEA DESEDE Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.22 AES Alg.Alias.SecretKeyFactory.PBEWITHMD5ANDDES-CBC PBEWITHMD5ANDDES Alg.Alias.Cipher.1.2.840.113549.1.12.1.2 PBEWITHSHAAND40BITRC4 Alg.Alias.KeyGenerator.1.2.840.113549.2.9 HMACSHA256 Cipher.RSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding Alg.Alias.AlgorithmParameters.PBEWITHSHAAND2-KEYTRIPLEDES PKCS12PBE Alg.Alias.KeyPairGenerator.1.2.840.10045.2.1 EC Alg.Alias.Cipher.PBEWITHSHA1AND2-KEYTRIPLEDES-CBC PBEWITHSHAAND2-KEYTRIPLEDES-CBC Alg.Alias.Mac.HMAC/MD5 HMACMD5 Alg.Alias.Signature.DSA SHA1withDSA Cipher.PBEWITHSHAAND40BITRC4 com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd40Bit KeyStore.BouncyCastle com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$BouncyCastleStore Cipher.PBEWITHSHAAND128BITRC4 com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd128Bit AlgorithmParameters.AES com.android.org.bouncycastle.jcajce.provider.symmetric.AES$AlgParams Alg.Alias.KeyGenerator.RC4 ARC4 Alg.Alias.Signature.SHA/DSA SHA1withDSA Alg.Alias.SecretKeyFactory.1.3.6.1.4.1.22554.1.1.2.1.22 PBEWITHSHAAND192BITAES-CBC-BC Alg.Alias.SecretKeyFactory.1.2.840.113549.1.5.6 PBEWITHMD5ANDRC2 Alg.Alias.SecretKeyFactory.PBEWITHSHA-1AND256BITAES-CBC-BC PBEWITHSHAAND256BITAES-CBC-BC Alg.Alias.Signature.1.2.840.113549.1.1.11 SHA256WITHRSA Alg.Alias.AlgorithmParameters.PBEWITHSHA256AND192BITAES-CBC-BC PKCS12PBE Alg.Alias.SecretKeyFactory.PBEWITHSHA1ANDDES-CBC PBEWITHSHA1ANDDES CertificateFactory.X.509 com.android.org.bouncycastle.jcajce.provider.asymmetric.x509.CertificateFactory Alg.Alias.MessageDigest.1.3.14.3.2.26 SHA-1 Mac.HMACSHA384 com.android.org.bouncycastle.jcajce.provider.digest.SHA384$HashMac Alg.Alias.Cipher.2.16.840.1.101.3.4.1.45 AESWRAP Alg.Alias.Signature.SHA384WithRSAEncryption SHA384WITHRSA Alg.Alias.KeyPairGenerator.DIFFIEHELLMAN DH Alg.Alias.Signature.SHA1/RSA SHA1WITHRSA SecretKeyFactory.PBEWITHSHAAND192BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHAAnd192BitAESBC KeyFactory.DH com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi Alg.Alias.KeyStore.BOUNCYCASTLE BouncyCastle Alg.Alias.Cipher.2.16.840.1.101.3.4.1.5 AESWRAP Cipher.PBEWITHSHA1ANDDES com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithSHA1 Alg.Alias.AlgorithmParameters.PBEWITHSHAANDDES2KEY-CBC PKCS12PBE SecretKeyFactory.PBEWITHMD5AND256BITAES-CBC-OPENSSL com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithMD5And256BitAESCBCOpenSSL Alg.Alias.KeyGenerator.1.2.840.113549.2.7 HMACSHA1 Alg.Alias.SecretKeyFactory.PBEWITHSHA-256AND192BITAES-CBC-BC PBEWITHSHA256AND192BITAES-CBC-BC Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.22554.1.2.1.2.1.22 PKCS12PBE Alg.Alias.Signature.SHA256WithRSA SHA256WITHRSA Alg.Alias.Signature.SHA384withRSA SHA384WITHRSA Alg.Alias.Signature.MD5withRSAEncryption MD5WITHRSA Alg.Alias.Signature.SHA1WITHRSAENCRYPTION SHA1WITHRSA Alg.Alias.Signature.DSAWITHSHA1 SHA1withDSA Alg.Alias.Mac.HMAC/SHA384 HMACSHA384 Alg.Alias.KeyFactory.1.3.14.3.2.27 DSA Alg.Alias.Signature.OID.1.2.840.113549.1.1.13 SHA512WITHRSA Alg.Alias.SecretKeyFactory.PBEWITHSHA1ANDRC2-CBC PBEWITHSHA1ANDRC2 Alg.Alias.Cipher.2.16.840.1.101.3.4.22 AES KeyGenerator.AES com.android.org.bouncycastle.jcajce.provider.symmetric.AES$KeyGen Cipher.PBEWITHSHAAND192BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Alg.Alias.SecretKeyFactory.PBEWITHMD5ANDRC2-CBC PBEWITHMD5ANDRC2 Alg.Alias.SecretKeyFactory.1.3.14.3.2.26 PBEWITHHMACSHA1 Provider.id name BC Alg.Alias.Signature.SHA384WITHRSAENCRYPTION SHA384WITHRSA AlgorithmParameterGenerator.DSA com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.AlgorithmParameterGeneratorSpi Alg.Alias.KeyFactory.1.3.133.16.840.63.0.2 EC Signature.SHA256WITHRSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA256 Alg.Alias.AlgorithmParameters.PBEWITHSHA1ANDRC2 PKCS12PBE Alg.Alias.Cipher.1.2.840.113549.1.5.3 PBEWITHMD5ANDDES Alg.Alias.SecretKeyFactory.PBEWITHSHA-256AND256BITAES-CBC-BC PBEWITHSHA256AND256BITAES-CBC-BC Alg.Alias.Cipher.PBEWITHSHA-256AND128BITAES-CBC-BC PBEWITHSHA256AND128BITAES-CBC-BC MessageDigest.MD5 com.android.org.bouncycastle.jcajce.provider.digest.MD5$Digest Alg.Alias.Cipher.1.3.6.1.4.1.22554.1.1.2.1.42 PBEWITHSHAAND256BITAES-CBC-BC Alg.Alias.Signature.SHA256WithECDSA SHA256WITHECDSA Alg.Alias.Mac.HMAC-MD5 HMACMD5 Cipher.DESEDEWRAP com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$Wrap KeyGenerator.DESEDE com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$KeyGenerator Alg.Alias.Signature.OID.1.2.840.113549.1.1.12 SHA384WITHRSA SecretKeyFactory.PBEWITHSHA256AND128BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256And128BitAESBC Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.4 PBEWITHSHAAND2-KEYTRIPLEDES-CBC Alg.Alias.Cipher.2.16.840.1.101.3.4.2 AES Alg.Alias.SecretKeyFactory.1.2.840.113549.1.5.11 PBEWITHSHA1ANDRC2 Alg.Alias.Signature.1.2.840.113549.1.1.12 SHA384WITHRSA Alg.Alias.Signature.DSAwithSHA1 SHA1withDSA KeyGenerator.HMACSHA384 com.android.org.bouncycastle.jcajce.provider.digest.SHA384$KeyGenerator Signature.MD5WITHRSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$MD5 Alg.Alias.Signature.MD5WITHRSAENCRYPTION MD5WITHRSA Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.2 AES Cipher.AES com.android.org.bouncycastle.jcajce.provider.symmetric.AES$ECB Signature.SHA512WITHRSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA512 Cipher.PBEWITHSHAAND128BITRC2-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd128BitRC2 Alg.Alias.KeyGenerator.1.3.6.1.4.1.3029.1.2 BLOWFISH SecretKeyFactory.PBEWITHMD5AND128BITAES-CBC-OPENSSL com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithMD5And128BitAESCBCOpenSSL Alg.Alias.Cipher.1.2.840.113549.1.12.1.3 PBEWITHSHAAND3-KEYTRIPLEDES-CBC Alg.Alias.Signature.SHA512withRSAEncryption SHA512WITHRSA Alg.Alias.Mac.HMAC-SHA512 HMACSHA512 Cipher.PBEWITHSHAAND40BITRC2-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd40BitRC2 Alg.Alias.Signature.SHA1withECDSA ECDSA Alg.Alias.Signature.1.2.840.10045.4.3.2 SHA256WITHECDSA Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.3 SHA-512 Alg.Alias.KeyGenerator.HMAC/SHA512 HMACSHA512 Alg.Alias.AlgorithmParameters.PBEWITHSHA-1AND256BITAES-CBC-BC PKCS12PBE SecretKeyFactory.PBEWITHSHA256AND256BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256And256BitAESBC Alg.Alias.AlgorithmParameters.PBEWITHSHA256AND128BITAES-CBC-BC PKCS12PBE Signature.SHA256WITHECDSA com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi$ecDSA256 Alg.Alias.AlgorithmParameters.PBEWITHSHAAND128BITAES-CBC-BC PKCS12PBE Alg.Alias.KeyFactory.DIFFIEHELLMAN DH Alg.Alias.Signature.SHA512WithRSA SHA512WITHRSA Alg.Alias.Signature.1.2.840.10040.4.3 SHA1withDSA Signature.SHA384WITHECDSA com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi$ecDSA384 Alg.Alias.SecretKeyFactory.PBEWithSHAAnd3KeyTripleDES PBEWITHSHAAND3-KEYTRIPLEDES-CBC SecretKeyFactory.PBKDF2WithHmacSHA1 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$PBKDF2WithHmacSHA1UTF8 SecretKeyFactory.PBEWITHHMACSHA1 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$PBEWithMacKeyFactory Alg.Alias.Signature.SHA384WithRSA SHA384WITHRSA Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.1 SHA1withDSA Alg.Alias.Signature.SHA512/ECDSA SHA512WITHECDSA CertPathValidator.PKIX com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi Alg.Alias.AlgorithmParameters.1.2.840.10040.4.1 DSA Cipher.PBEWITHMD5ANDRC2 com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithMD5AndRC2 Cipher.PBEWITHSHA256AND256BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Alg.Alias.Signature.ECDSAWithSHA1 ECDSA Alg.Alias.Mac.1.3.14.3.2.26 PBEWITHHMACSHA Alg.Alias.AlgorithmParameters.PBEWITHSHAAND128BITRC2-CBC PKCS12PBE Alg.Alias.Signature.MD5/RSA MD5WITHRSA Cipher.PBEWITHSHAAND2-KEYTRIPLEDES-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES2Key Alg.Alias.Signature.SHA256withECDSA SHA256WITHECDSA Alg.Alias.KeyFactory.1.2.840.113549.1.1.7 RSA Alg.Alias.AlgorithmParameters.PBEWITHSHAANDRC4 PKCS12PBE SecretKeyFactory.PBEWITHSHAAND2-KEYTRIPLEDES-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES2KeyFactory Alg.Alias.Cipher.TDEAWRAP DESEDEWRAP Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.1 PBEWITHSHAAND128BITRC4 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.3 PKCS12PBE Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.5 PBEWITHSHAAND128BITRC2-CBC Alg.Alias.AlgorithmParameters.PBEWITHSHA1AND256BITAES-CBC-BC PKCS12PBE Alg.Alias.Signature.SHA512WITHRSAENCRYPTION SHA512WITHRSA Alg.Alias.Signature.1.2.840.10040.4.1 SHA1withDSA Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.5 PKCS12PBE Alg.Alias.Signature.SHA256/ECDSA SHA256WITHECDSA Alg.Alias.Signature.SHA256/RSA SHA256WITHRSA Alg.Alias.Signature.OID.1.2.840.113549.1.1.5 SHA1WITHRSA SecretKeyFactory.DES com.android.org.bouncycastle.jcajce.provider.symmetric.DES$KeyFactory Signature.SHA1withDSA com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner$stdDSA Alg.Alias.AlgorithmParameters.PBEWITHSHA-256AND128BITAES-CBC-BC PKCS12PBE Alg.Alias.AlgorithmParameterGenerator.1.3.14.3.2.27 DSA SecretKeyFactory.PBEWITHMD5ANDRC2 com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithMD5KeyFactory Alg.Alias.Signature.SHA512WithRSAEncryption SHA512WITHRSA Alg.Alias.SecretKeyFactory.PBEWITHSHA-256AND128BITAES-CBC-BC PBEWITHSHA256AND128BITAES-CBC-BC Alg.Alias.AlgorithmParameters.PBEWITHSHAAND3-KEYTRIPLEDES-CBC PKCS12PBE SecretKeyFactory.PBEWITHSHAAND128BITRC4 com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd128BitKeyFactory Provider.id className com.android.org.bouncycastle.jce.provider.BouncyCastleProvider KeyAgreement.ECDH com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.KeyAgreementSpi$DH Alg.Alias.KeyGenerator.1.2.840.113549.2.11 HMACSHA512 Alg.Alias.Cipher.PBEWITHSHA1AND3-KEYTRIPLEDES-CBC PBEWITHSHAAND3-KEYTRIPLEDES-CBC AlgorithmParameters.DH com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.AlgorithmParametersSpi KeyGenerator.HMACSHA1 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$KeyGenerator Alg.Alias.Signature.1.2.840.10045.4.3.3 SHA384WITHECDSA Alg.Alias.MessageDigest.SHA384 SHA-384 Alg.Alias.KeyGenerator.1.3.6.1.5.5.8.1.1 HMACMD5 KeyPairGenerator.RSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi Alg.Alias.Signature.ECDSAWITHSHA1 ECDSA Alg.Alias.Cipher.PBEWITHSHA-256AND192BITAES-CBC-BC PBEWITHSHA256AND192BITAES-CBC-BC KeyStore.PKCS12 com.android.org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$BCPKCS12KeyStore Alg.Alias.KeyGenerator.HMAC-MD5 HMACMD5 Alg.Alias.SecretKeyFactory.1.2.840.113549.1.5.10 PBEWITHSHA1ANDDES Alg.Alias.Mac.HMAC/SHA512 HMACSHA512 Alg.Alias.Cipher.1.3.6.1.4.1.22554.1.2.1.2.1.2 PBEWITHSHA256AND128BITAES-CBC-BC SecretKeyFactory.PBEWITHSHA256AND192BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256And192BitAESBC Alg.Alias.Signature.SHA384WithECDSA SHA384WITHECDSA KeyGenerator.BLOWFISH com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$KeyGen Cipher.BLOWFISH com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$ECB Alg.Alias.Mac.HMAC-SHA1 HMACSHA1 Alg.Alias.SecretKeyFactory.PBEWITHSHA-1AND128BITAES-CBC-BC PBEWITHSHAAND128BITAES-CBC-BC Alg.Alias.Signature.SHA384withRSAEncryption SHA384WITHRSA KeyFactory.DSA com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyFactorySpi Alg.Alias.AlgorithmParameters.PBEWITHSHAAND128BITRC4 PKCS12PBE Alg.Alias.AlgorithmParameters.PBEWITHSHAANDTWOFISH-CBC PKCS12PBE Cipher.PBEWITHSHA256AND128BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC SecretKeyFactory.PBEWITHSHAAND3-KEYTRIPLEDES-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES3KeyFactory Cipher.AESWRAP com.android.org.bouncycastle.jcajce.provider.symmetric.AES$Wrap Alg.Alias.SecretKeyFactory.PBKDF2WithHmacSHA1AndUTF8 PBKDF2WithHmacSHA1 SecretKeyFactory.PBEWITHSHAAND128BITRC2-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd128BitKeyFactory Cipher.PBEWITHSHAAND256BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Alg.Alias.Signature.OID.1.2.840.10045.4.3.4 SHA512WITHECDSA Alg.Alias.Cipher.1.2.840.113549.1.9.16.3.6 DESEDEWRAP Alg.Alias.AlgorithmParameters.PBEWITHSHAAND256BITAES-CBC-BC PKCS12PBE Cipher.PBEWITHSHAAND3-KEYTRIPLEDES-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES3Key Alg.Alias.Cipher.PBEWITHSHA1AND192BITAES-CBC-BC PBEWITHSHAAND192BITAES-CBC-BC Alg.Alias.Cipher.RSA//NOPADDING RSA CertStore.Collection com.android.org.bouncycastle.jce.provider.CertStoreCollectionSpi Signature.SHA1WITHRSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA1 Alg.Alias.KeyGenerator.1.3.6.1.5.5.8.1.2 HMACSHA1 MessageDigest.SHA-256 com.android.org.bouncycastle.jcajce.provider.digest.SHA256$Digest Alg.Alias.Signature.SHA1WithRSA SHA1WITHRSA Cipher.PBEWITHMD5AND128BITAES-CBC-OPENSSL com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Alg.Alias.SecretKeyFactory.PBEWITHSHA1AND192BITAES-CBC-BC PBEWITHSHAAND192BITAES-CBC-BC Alg.Alias.Cipher.1.3.6.1.4.1.22554.1.2.1.2.1.22 PBEWITHSHA256AND192BITAES-CBC-BC Alg.Alias.Cipher.2.16.840.1.101.3.4.42 AES KeyGenerator.DES com.android.org.bouncycastle.jcajce.provider.symmetric.DES$KeyGenerator Alg.Alias.Signature.SHA1withRSA SHA1WITHRSA Alg.Alias.Signature.SHA384/RSA SHA384WITHRSA Alg.Alias.AlgorithmParameters.PBEWITHSHA-256AND192BITAES-CBC-BC PKCS12PBE KeyFactory.RSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi SecretKeyFactory.DESEDE com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$KeyFactory Alg.Alias.AlgorithmParameters.PBEWITHSHAAND40BITRC2-CBC PKCS12PBE Alg.Alias.Cipher.1.2.840.113549.1.5.11 PBEWITHSHA1ANDRC2 Alg.Alias.SecretKeyFactory.1.2.840.113549.1.5.3 PBEWITHMD5ANDDES Alg.Alias.AlgorithmParameters.PBEWITHSHAAND2-KEYTRIPLEDES-CBC PKCS12PBE Alg.Alias.Signature.SHA384withECDSA SHA384WITHECDSA Alg.Alias.Signature.OID.1.2.840.10045.4.3.2 SHA256WITHECDSA Alg.Alias.Signature.SHA1WithRSAEncryption SHA1WITHRSA Alg.Alias.AlgorithmParameters.PBEWithSHAAnd3KeyTripleDES PKCS12PBE Alg.Alias.SecretKeyFactory.1.2.840.113549.1.5.12 PBKDF2WithHmacSHA1 Alg.Alias.Cipher.PBEWITHSHA-1AND256BITAES-CBC-BC PBEWITHSHAAND256BITAES-CBC-BC Alg.Alias.Signature.1.2.840.10045.4.3.4 SHA512WITHECDSA Alg.Alias.SecretKeyFactory.1.3.6.1.4.1.22554.1.1.2.1.42 PBEWITHSHAAND256BITAES-CBC-BC Alg.Alias.Cipher.PBEWITHSHA1AND128BITRC2-CBC PBEWITHSHAAND128BITRC2-CBC Alg.Alias.Signature.1.2.840.10045.4.1 ECDSA Provider.id info BouncyCastle Security Provider v1.49 Cipher.PBEWITHMD5AND192BITAES-CBC-OPENSSL com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Alg.Alias.Signature.SHA1withRSAEncryption SHA1WITHRSA Alg.Alias.Cipher.RC4 ARC4 Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.2 SHA-384 Alg.Alias.KeyFactory.1.2.840.10040.4.1 DSA Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.22554.1.1.2.1.42 PKCS12PBE Alg.Alias.MessageDigest.SHA SHA-1 SecretKeyFactory.PBEWITHSHAAND40BITRC2-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd40BitKeyFactory Alg.Alias.Signature.SHA384/ECDSA SHA384WITHECDSA Alg.Alias.KeyFactory.2.5.8.1.1 RSA Alg.Alias.AlgorithmParameters.PBEWITHSHA1ANDRC2-CBC PKCS12PBE Alg.Alias.Cipher.PBEWITHSHA1AND40BITRC4 PBEWITHSHAAND40BITRC4 Alg.Alias.SecretKeyFactory.PBEWITHSHA-1AND192BITAES-CBC-BC PBEWITHSHAAND192BITAES-CBC-BC SecretKeyFactory.PBEWITHSHAANDTWOFISH-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish$PBEWithSHAKeyFactory Signature.SHA384WITHRSA com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA384 Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.22554.1.2.1.2.1.42 PKCS12PBE Alg.Alias.Cipher.2.16.840.1.101.3.4.1.25 AESWRAP Alg.Alias.KeyPairGenerator.1.3.14.3.2.27 DSA Mac.PBEWITHHMACSHA1 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$SHA1Mac Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.6 PBEWITHSHAAND40BITRC2-CBC Cipher.PBEWITHSHAANDTWOFISH-CBC com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish$PBEWithSHA Cipher.DESEDE com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$ECB Alg.Alias.SecretKeyFactory.TDEA DESEDE Alg.Alias.Signature.SHA256WithRSAEncryption SHA256WITHRSA Alg.Alias.Mac.1.3.6.1.5.5.8.1.2 HMACSHA1 Alg.Alias.Signature.1.2.840.113549.1.1.4 MD5WITHRSA Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1.7 RSA Alg.Alias.SecretKeyFactory.1.2.840.113549.1.12.1.3 PBEWITHSHAAND3-KEYTRIPLEDES-CBC KeyGenerator.HMACMD5 com.android.org.bouncycastle.jcajce.provider.digest.MD5$KeyGenerator KeyFactory.EC com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.KeyFactorySpi$EC Alg.Alias.SecretKeyFactory.PBEWITHSHA1AND256BITAES-CBC-BC PBEWITHSHAAND256BITAES-CBC-BC Alg.Alias.Signature.OID.1.3.14.3.2.29 SHA1WITHRSA Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.22554.1.1.2.1.22 PKCS12PBE Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1.1 RSA Alg.Alias.AlgorithmParameters.PBEWITHSHA256AND256BITAES-CBC-BC PKCS12PBE Cipher.DES com.android.org.bouncycastle.jcajce.provider.symmetric.DES$ECB Alg.Alias.AlgorithmParameters.1.3.14.3.2.27 DSA KeyGenerator.HMACSHA256 com.android.org.bouncycastle.jcajce.provider.digest.SHA256$KeyGenerator Alg.Alias.Cipher.TDEA DESEDE Alg.Alias.AlgorithmParameters.TDEA DESEDE Mac.HMACMD5 com.android.org.bouncycastle.jcajce.provider.digest.MD5$HashMac Alg.Alias.SecretKeyFactory.1.3.6.1.4.1.22554.1.1.2.1.2 PBEWITHSHAAND128BITAES-CBC-BC Signature.NONEwithECDSA com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi$ecDSAnone Mac.HMACSHA512 com.android.org.bouncycastle.jcajce.provider.digest.SHA512$HashMac Alg.Alias.KeyFactory.1.2.840.10045.2.1 EC Alg.Alias.Cipher.1.2.840.113549.1.12.1.1 PBEWITHSHAAND128BITRC4 Alg.Alias.AlgorithmParameters.PBEWITHSHA-256AND256BITAES-CBC-BC PKCS12PBE Alg.Alias.Cipher.RSA//RAW RSA Alg.Alias.AlgorithmParameters.1.3.14.3.2.7 DES Alg.Alias.Mac.1.2.840.113549.2.11 HMACSHA512 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.2 PKCS12PBE SecretKeyFactory.PBEWITHSHAAND128BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHAAnd128BitAESBC Alg.Alias.Mac.1.3.6.1.5.5.8.1.1 HMACMD5 SecretKeyFactory.PBKDF2WithHmacSHA1And8BIT com.android.org.bouncycastle.jcajce.provider.digest.SHA1$PBKDF2WithHmacSHA18BIT AlgorithmParameters.DESEDE com.android.org.bouncycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.42 AES Cipher.PBEWITHMD5ANDDES com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithMD5 Alg.Alias.Cipher.ARCFOUR ARC4 Signature.NONEWITHDSA com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner$noneDSA Alg.Alias.Signature.SHA1WithDSA SHA1withDSA Alg.Alias.Cipher.PBEWITHSHA-1AND192BITAES-CBC-BC PBEWITHSHAAND192BITAES-CBC-BC Mac.PBEWITHHMACSHA com.android.org.bouncycastle.jcajce.provider.digest.SHA1$SHA1Mac MessageDigest.SHA-512 com.android.org.bouncycastle.jcajce.provider.digest.SHA512$Digest Alg.Alias.Signature.SHA512withRSA SHA512WITHRSA Alg.Alias.Signature.RAWDSA NONEWITHDSA Alg.Alias.Cipher.PBEWITHSHA-1AND128BITAES-CBC-BC PBEWITHSHAAND128BITAES-CBC-BC Alg.Alias.AlgorithmParameters.PBEWITHSHA1AND192BITAES-CBC-BC PKCS12PBE Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.22554.1.1.2.1.2 PKCS12PBE AlgorithmParameters.BLOWFISH com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$AlgParams Alg.Alias.KeyPairGenerator.1.2.840.10040.4.1 DSA Alg.Alias.KeyGenerator.HMAC/SHA256 HMACSHA256 Alg.Alias.Mac.1.2.840.113549.2.9 HMACSHA256 Alg.Alias.Cipher.1.3.6.1.4.1.22554.1.2.1.2.1.42 PBEWITHSHA256AND256BITAES-CBC-BC Alg.Alias.Mac.HMAC/SHA256 HMACSHA256 KeyStore.BKS com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std Alg.Alias.AlgorithmParameters.PBEWITHSHAAND3-KEYTRIPLEDES PKCS12PBE Alg.Alias.Signature.DSAWithSHA1 SHA1withDSA Alg.Alias.SecretKeyFactory.PBEWITHHMACSHA PBEWITHHMACSHA1 Alg.Alias.SecretKeyFactory.1.3.6.1.4.1.22554.1.2.1.2.1.2 PBEWITHSHA256AND128BITAES-CBC-BC Alg.Alias.KeyGenerator.HMAC-SHA256 HMACSHA256 Alg.Alias.Signature.MD5WithRSA MD5WITHRSA Alg.Alias.Signature.SHA512/RSA SHA512WITHRSA Alg.Alias.AlgorithmParameters.PBEWITHSHAAND40BITRC4 PKCS12PBE Alg.Alias.Signature.OID.1.2.840.10045.4.3.3 SHA384WITHECDSA SecretKeyFactory.PBEWITHMD5AND192BITAES-CBC-OPENSSL com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithMD5And192BitAESCBCOpenSSL Alg.Alias.Cipher.1.3.6.1.4.1.22554.1.1.2.1.22 PBEWITHSHAAND192BITAES-CBC-BC Alg.Alias.Mac.1.2.840.113549.2.10 HMACSHA384 SecretKeyFactory.PBEWITHSHAAND256BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHAAnd256BitAESBC Alg.Alias.AlgorithmParameters.PBEWITHSHAAND192BITAES-CBC-BC PKCS12PBE SecretKeyFactory.PBEWITHSHA1ANDRC2 com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHA1KeyFactory Mac.HMACSHA256 com.android.org.bouncycastle.jcajce.provider.digest.SHA256$HashMac Alg.Alias.Cipher.PBEWITHSHA-256AND256BITAES-CBC-BC PBEWITHSHA256AND256BITAES-CBC-BC AlgorithmParameters.PKCS12PBE com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$AlgParams Alg.Alias.Cipher.PBEWITHSHA1AND256BITAES-CBC-BC PBEWITHSHAAND256BITAES-CBC-BC Alg.Alias.MessageDigest.1.2.840.113549.2.5 MD5 Alg.Alias.Mac.2.16.840.1.101.3.4.2.1 HMACSHA256 Alg.Alias.KeyAgreement.DIFFIEHELLMAN DH Alg.Alias.Signature.ECDSAwithSHA1 ECDSA Alg.Alias.CertificateFactory.X509 X.509 Cipher.ARC4 com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$Base Alg.Alias.Cipher.RSA/RAW RSA Alg.Alias.Signature.MD5withRSA MD5WITHRSA Alg.Alias.Cipher.1.2.840.113549.1.5.10 PBEWITHSHA1ANDDES Alg.Alias.KeyGenerator.HMAC/SHA384 HMACSHA384 Alg.Alias.KeyGenerator.HMAC-SHA1 HMACSHA1 Alg.Alias.AlgorithmParameters.PBEWITHSHAANDTWOFISH PKCS12PBE Alg.Alias.Cipher.1.2.840.113549.1.12.1.5 PBEWITHSHAAND128BITRC2-CBC Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.22 AES Alg.Alias.Cipher.1.2.840.113549.1.5.6 PBEWITHMD5ANDRC2 Alg.Alias.Signature.SHA1WITHECDSA ECDSA Cipher.PBEWITHSHA256AND192BITAES-CBC-BC com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Alg.Alias.Signature.OID.1.2.840.113549.1.1.4 MD5WITHRSA Cipher.PBEWITHMD5AND256BITAES-CBC-OPENSSL com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC Alg.Alias.Signature.1.3.14.3.2.29 SHA1WITHRSA Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.3 SHA1withDSA Alg.Alias.Cipher.PBEWITHSHA1AND128BITRC4 PBEWITHSHAAND128BITRC4 AlgorithmParameters.DES com.android.org.bouncycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters Signature.ECDSA com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi$ecDSA Alg.Alias.KeyFactory.1.2.840.113549.1.1.1 RSA Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.22554.1.2.1.2.1.2 PKCS12PBE Alg.Alias.MessageDigest.SHA1 SHA-1 Alg.Alias.Cipher.1.2.840.113549.3.4 ARC4 Alg.Alias.Signature.SHA1/DSA SHA1withDSA SecureRandom.SHA1PRNG ImplementedIn Software MessageDigest.SHA-1 org.apache.harmony.security.provider.crypto.SHA1_MessageDigestImpl Alg.Alias.Signature.SHA/DSA SHA1withDSA KeyFactory.DSA ImplementedIn Software Provider.id className org.apache.harmony.security.provider.crypto.CryptoProvider SecureRandom.SHA1PRNG org.apache.harmony.security.provider.crypto.SHA1PRNG_SecureRandomImpl Alg.Alias.Signature.DSS SHA1withDSA Signature.SHA1withDSA ImplementedIn Software Alg.Alias.Signature.1.3.14.3.2.27 SHA1withDSA Alg.Alias.KeyFactory.1.3.14.3.2.12 DSA Provider.id version 1.0 Provider.id info HARMONY (SHA1 digest; SecureRandom; SHA1withDSA signature) Alg.Alias.Signature.SHA-1/DSA SHA1withDSA Alg.Alias.Signature.OID.1.2.840.10040.4.3 SHA1withDSA Alg.Alias.Signature.1.2.840.10040.4.3 SHA1withDSA Alg.Alias.KeyFactory.1.2.840.10040.4.1 DSA Alg.Alias.Signature.SHAwithDSA SHA1withDSA Alg.Alias.MessageDigest.SHA SHA-1 Alg.Alias.Signature.DSAwithSHA1 SHA1withDSA Signature.SHA1withDSA org.apache.harmony.security.provider.crypto.SHA1withDSA_SignatureImpl Alg.Alias.Signature.DSA SHA1withDSA Alg.Alias.Signature.1.3.14.3.2.13 SHA1withDSA Provider.id name Crypto MessageDigest.SHA-1 ImplementedIn Software Alg.Alias.MessageDigest.SHA1 SHA-1 KeyFactory.DSA org.apache.harmony.security.provider.crypto.DSAKeyFactoryImpl Provider.id info Harmony JSSE Provider KeyManagerFactory.PKIX com.android.org.conscrypt.KeyManagerFactoryImpl TrustManagerFactory.PKIX com.android.org.conscrypt.TrustManagerFactoryImpl SSLContext.SSL com.android.org.conscrypt.SSLContextImpl KeyStore.AndroidCAStore com.android.org.conscrypt.TrustedCertificateKeyStoreSpi Provider.id name HarmonyJSSE SSLContext.TLS com.android.org.conscrypt.SSLContextImpl Alg.Alias.TrustManagerFactory.X509 PKIX SSLContext.SSLv3 com.android.org.conscrypt.SSLContextImpl Provider.id className com.android.org.conscrypt.JSSEProvider Alg.Alias.KeyManagerFactory.X509 PKIX SSLContext.TLSv1 com.android.org.conscrypt.SSLContextImpl Provider.id version 1.0 Provider.id info Android KeyStore security provider KeyPairGenerator.RSA android.security.AndroidKeyPairGenerator Provider.id name AndroidKeyStore KeyStore.AndroidKeyStore android.security.AndroidKeyStore Provider.id className android.security.AndroidKeyStoreProvider Provider.id version 1.0
-
Any update on this? In the meantime I tried to use Spongy Castle library also but that was of no help either.
-
Hi!
The dump shows no support for AES/GCM/NoPadding.
You should be seeing something like this:
Cipher.AES_128/GCM/NoPadding
Could you do the same dump on a device where the GCM cipher works?
-
This is a dump of the GCM algs of BouncyCastle on a desktop machine:
Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.6 GCM Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.46 GCM Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.26 GCM AlgorithmParameterGenerator.GCM org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamGenGCM Cipher.GCM org.bouncycastle.jcajce.provider.symmetric.AES$GCM Alg.Alias.Cipher.2.16.840.1.101.3.4.1.46 GCM Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.1.46 GCM Alg.Alias.Cipher.2.16.840.1.101.3.4.1.26 GCM Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.6 GCM Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.1.26 GCM Alg.Alias.Cipher.2.16.840.1.101.3.4.1.6 GCM Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.46 GCM Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.26 GCM Alg.Alias.AlgorithmParameterGenerator.2.16.840.1.101.3.4.1.6 GCM AlgorithmParameters.GCM org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamsGCM
Again you can see we have clear indication that GCM is supported here.
There must be some reason why GCM is not included or supported on the Android device that you have. Perhaps the underlying hardware? We are not Android pros, so to find out more I suggest you ask for assistance in a Android security forum.
Or, you could instead switch to the supported
Cipher.AES/CBC/PKCS5Padding com.android.org.conscrypt.OpenSSLCipher$AES$CBC$PKCS5Padding
which as JOSE enc is
A128CBC-HS256
. -
Dump of BC GCM on Android Device ( Lollipop , 5.1.1 )
Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.46 GCM Alg.Alias.Cipher.2.16.840.1.101.3.4.1.6 GCM AlgorithmParameters.GCM com.android.org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamsGCM Cipher.GCM com.android.org.bouncycastle.jcajce.provider.symmetric.AES$GCM Alg.Alias.Cipher.2.16.840.1.101.3.4.1.46 GCM Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.6 GCM Alg.Alias.Cipher.2.16.840.1.101.3.4.1.26 GCM Alg.Alias.AlgorithmParameters.2.16.840.1.101.3.4.1.26 GCM
I do see GCM , what version of Android are you working with.
-
Thank you for your inputs.
-
- changed status to resolved
Closing this ticket, but feel free to post here for further questions / comments / feedback.
- Log in to comment