• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1-keep class com.android.org.bouncycastle.jce.provider.BouncyCastleProvider { public *; }
2
3# Keep classes for Android supported algorithms, and internal ones loaded
4# through reflection (cf. calls to ConfigurableProvider.addAlgorithm and
5# ConfigurableProvider.addPrivateAlgorithm). The *$Mappings classes are used
6# internally through reflection to configure the algorithms.
7
8-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$Mappings { public *; }
9-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA1AndAES_128 { public *; }
10-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA1AndAES_256 { public *; }
11-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA224AndAES_128 { public *; }
12-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA224AndAES_256 { public *; }
13-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA256AndAES_128 { public *; }
14-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA256AndAES_256 { public *; }
15-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA384AndAES_128 { public *; }
16-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA384AndAES_256 { public *; }
17-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA512AndAES_128 { public *; }
18-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBEWithHmacSHA512AndAES_256 { public *; }
19-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBKDF2WithHmacSHA18BIT { public *; }
20-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBKDF2WithHmacSHA1UTF8 { public *; }
21-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBKDF2WithHmacSHA224UTF8 { public *; }
22-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBKDF2WithHmacSHA256UTF8 { public *; }
23-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBKDF2WithHmacSHA384UTF8 { public *; }
24-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBKDF2WithHmacSHA512UTF8 { public *; }
25-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$PBKDF2withUTF8 { public *; }
26
27-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$Mappings { public *; }
28-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$AlgParams { public *; }
29
30-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$Mappings { public *; }
31-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA1AES128AlgorithmParameters { public *; }
32-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA1AES256AlgorithmParameters { public *; }
33-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA224AES128AlgorithmParameters { public *; }
34-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA224AES256AlgorithmParameters { public *; }
35-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA256AES128AlgorithmParameters { public *; }
36-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA256AES256AlgorithmParameters { public *; }
37-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA384AES128AlgorithmParameters { public *; }
38-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA384AES256AlgorithmParameters { public *; }
39-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA512AES128AlgorithmParameters { public *; }
40-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$PBEWithHmacSHA512AES256AlgorithmParameters { public *; }
41
42-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$Mappings { public *; }
43-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$CBC { public *; }
44-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$CFB { public *; }
45-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$ECB { public *; }
46-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC { public *; }
47-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC { public *; }
48-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithAESCBC { public *; }
49-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithMD5And128BitAESCBCOpenSSL { public *; }
50-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithMD5And192BitAESCBCOpenSSL { public *; }
51-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithMD5And256BitAESCBCOpenSSL { public *; }
52-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA1AESCBC128 { public *; }
53-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA1AESCBC192 { public *; }
54-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA1AESCBC256 { public *; }
55-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256AESCBC128 { public *; }
56-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256AESCBC192 { public *; }
57-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256AESCBC256 { public *; }
58-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256And128BitAESBC { public *; }
59-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256And192BitAESBC { public *; }
60-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHA256And256BitAESBC { public *; }
61-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHAAnd128BitAESBC { public *; }
62-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHAAnd192BitAESBC { public *; }
63-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$PBEWithSHAAnd256BitAESBC { public *; }
64-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.AES$Wrap { public *; }
65
66-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$Mappings { public *; }
67-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$KeyGen { public *; }
68-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd128Bit { public *; }
69-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd128BitKeyFactory { public *; }
70-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd40Bit { public *; }
71-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$PBEWithSHAAnd40BitKeyFactory { public *; }
72
73-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$Mappings { public *; }
74-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$AlgParams { public *; }
75-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$ECB { public *; }
76-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$KeyGen { public *; }
77
78-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$Mappings { public *; }
79-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$ECB { public *; }
80-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$KeyFactory { public *; }
81-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$KeyGenerator { public *; }
82-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithMD5 { public *; }
83-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithMD5KeyFactory { public *; }
84-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithSHA1 { public *; }
85-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DES$PBEWithSHA1KeyFactory { public *; }
86-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters { public *; }
87
88-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$Mappings { public *; }
89-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$ECB { public *; }
90-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES2Key { public *; }
91-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES2KeyFactory { public *; }
92-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES3Key { public *; }
93-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$PBEWithSHAAndDES3KeyFactory { public *; }
94-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$Wrap { public *; }
95
96-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$Mappings { public *; }
97-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithMD5AndRC2 { public *; }
98-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithMD5KeyFactory { public *; }
99-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHA1AndRC2 { public *; }
100-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHA1KeyFactory { public *; }
101-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd128BitKeyFactory { public *; }
102-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd128BitRC2 { public *; }
103-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd40BitKeyFactory { public *; }
104-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$PBEWithSHAAnd40BitRC2 { public *; }
105
106-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish$Mappings { public *; }
107-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish$PBEWithSHA { public *; }
108-keep class com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish$PBEWithSHAKeyFactory { public *; }
109
110-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings { public *; }
111-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.AlgorithmParameterGeneratorSpi { public *; }
112-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.AlgorithmParametersSpi { public *; }
113-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner$dsa224 { public *; }
114-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner$dsa256 { public *; }
115-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner$noneDSA { public *; }
116-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner$stdDSA { public *; }
117-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyFactorySpi { public *; }
118-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyPairGeneratorSpi { public *; }
119
120-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings { public *; }
121-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.AlgorithmParameterGeneratorSpi { public *; }
122-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.AlgorithmParametersSpi { public *; }
123-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyAgreementSpi { public *; }
124-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi { public *; }
125-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyPairGeneratorSpi { public *; }
126
127-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings { public *; }
128-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.AlgorithmParametersSpi$PSS { public *; }
129-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding { public *; }
130-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi { public *; }
131-keep class com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi { public *; }
132
133-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA1$Mappings { public *; }
134-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA1$PBEWithMacKeyFactory { public *; }
135-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA1$SHA1Mac { public *; }
136
137-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA224$Mappings { public *; }
138-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA224$HashMac { public *; }
139
140-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA256$Mappings { public *; }
141-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA256$HashMac { public *; }
142
143-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA384$Mappings { public *; }
144-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA384$HashMac { public *; }
145
146-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA512$Mappings { public *; }
147-keep class com.android.org.bouncycastle.jcajce.provider.digest.SHA512$HashMac { public *; }
148
149-keep class com.android.org.bouncycastle.jcajce.provider.keystore.BC$Mappings { public *; }
150-keep class com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$BouncyCastleStore { public *; }
151-keep class com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std { public *; }
152
153-keep class com.android.org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings { public *; }
154-keep class com.android.org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$BCPKCS12KeyStore { public *; }
155
156-keep class com.android.org.bouncycastle.jce.provider.CertStoreCollectionSpi { public *; }
157-keep class com.android.org.bouncycastle.jce.provider.PKIXCertPathBuilderSpi { public *; }
158-keep class com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi { public *; }
159
160# Classes only accessed from tests in MtsLibcoreBouncyCastleTestCases
161-keep class com.android.org.bouncycastle.asn1.x9.ECNamedCurveTable { public *; }
162-keep class com.android.org.bouncycastle.asn1.x9.X962NamedCurves { public *; }
163-keep class com.android.org.bouncycastle.asn1.x9.X9ECParameters { public *; }
164-keep class com.android.org.bouncycastle.asn1.x9.X9ECPoint { public *; }
165-keep class com.android.org.bouncycastle.crypto.ec.CustomNamedCurves { public *; }
166-keep class com.android.org.bouncycastle.math.Primes { public *; }
167-keep class com.android.org.bouncycastle.math.Primes$* { public *; }
168-keep class com.android.org.bouncycastle.math.ec.ECAlgorithms { public *; }
169-keep class com.android.org.bouncycastle.math.ec.ECCurve { public *; }
170-keep class com.android.org.bouncycastle.math.ec.ECCurve$Config { public *; }
171-keep class com.android.org.bouncycastle.math.ec.ECCurve$Fp { public *; }
172-keep class com.android.org.bouncycastle.math.ec.ECPoint { public *; }
173-keep class com.android.org.bouncycastle.math.ec.FixedPointCombMultiplier { public *; }
174-keep class com.android.org.bouncycastle.math.raw.Interleave { public *; }
175-keep class com.android.org.bouncycastle.math.raw.Nat { public *; }
176-keep class com.android.org.bouncycastle.math.raw.Nat256 { public *; }
177-keep class com.android.org.bouncycastle.util.Arrays { public *; }
178-keep class com.android.org.bouncycastle.util.Integers { public *; }
179-keep class com.android.org.bouncycastle.util.encoders.Hex { public *; }
180
181# Classes only accessed from tests in CtsLibcoreTestCases
182# tests.com.android.org.bouncycastle.crypto.digests
183-keep class com.android.org.bouncycastle.crypto.digests.*Digest { public *; }
184-keep class com.android.org.bouncycastle.crypto.digests.OpenSSLDigest$* { public *; }
185
186# Unsupported usage by vendors, from b/356844860#comment19,
187# b/365088430#comment5, and b/365088430#comment10
188-keep class com.android.org.bouncycastle.asn1.ASN1EncodableVector { public *; }
189-keep class com.android.org.bouncycastle.asn1.ASN1Enumerated { public *; }
190-keep class com.android.org.bouncycastle.asn1.ASN1InputStream { public *; }
191-keep class com.android.org.bouncycastle.asn1.ASN1Integer { public *; }
192-keep class com.android.org.bouncycastle.asn1.ASN1Object { public *; }
193-keep class com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier { public *; }
194-keep class com.android.org.bouncycastle.asn1.ASN1OctetString { public *; }
195-keep class com.android.org.bouncycastle.asn1.ASN1Sequence { public *; }
196-keep class com.android.org.bouncycastle.asn1.ASN1TaggedObject { public *; }
197-keep class com.android.org.bouncycastle.asn1.DERBitString {}
198-keep class com.android.org.bouncycastle.asn1.DERInteger {}
199-keep class com.android.org.bouncycastle.asn1.DERNull {}
200-keep class com.android.org.bouncycastle.asn1.DEROctetString { public *; }
201-keep class com.android.org.bouncycastle.asn1.DERSequence {}
202-keep class com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers {}
203-keep class com.android.org.bouncycastle.asn1.pkcs.PrivateKeyInfo { public *; }
204-keep class com.android.org.bouncycastle.asn1.pkcs.RSAPublicKey { public *; }
205-keep class com.android.org.bouncycastle.asn1.x500.style.RFC4519Style {}
206-keep class com.android.org.bouncycastle.asn1.x509.AlgorithmIdentifier { public *; }
207-keep class com.android.org.bouncycastle.asn1.x509.BasicConstraints { public *; }
208-keep class com.android.org.bouncycastle.asn1.x509.Certificate { public *; }
209-keep class com.android.org.bouncycastle.asn1.x509.SubjectPublicKeyInfo { public *; }
210-keep class com.android.org.bouncycastle.asn1.x509.Time {}
211-keep class com.android.org.bouncycastle.asn1.x509.V3TBSCertificateGenerator { public *; }
212-keep class com.android.org.bouncycastle.asn1.x509.X509Name { public *; }
213-keep class com.android.org.bouncycastle.asn1.x9.X9ObjectIdentifiers {}
214-keep class com.android.org.bouncycastle.jce.ECNamedCurveTable { public *; }
215-keep class com.android.org.bouncycastle.jce.X509Principal {}
216-keep class com.android.org.bouncycastle.jce.netscape.NetscapeCertRequest { public *; }
217-keep class com.android.org.bouncycastle.jce.provider.BouncyCastleProvider {}
218-keep class com.android.org.bouncycastle.jce.provider.X509CertificateObject {}
219-keep class com.android.org.bouncycastle.jce.spec.ECParameterSpec { public *; }
220-keep class com.android.org.bouncycastle.math.ec.ECCurve { public *; }
221-keep class com.android.org.bouncycastle.math.ec.ECPoint { public *; }
222-keep class com.android.org.bouncycastle.util.BigIntegers { public *; }
223-keep class com.android.org.bouncycastle.util.encoders.Base64 { public *; }
224-keep class com.android.org.bouncycastle.util.encoders.Hex { public *; }
225-keep class com.android.org.bouncycastle.util.io.pem.PemObject { public *; }
226-keep class com.android.org.bouncycastle.util.io.pem.PemObjectParser { public *; }
227-keep class com.android.org.bouncycastle.util.io.pem.PemReader { public *; }
228-keep class com.android.org.bouncycastle.util.io.pem.PemWriter { public *; }
229-keep class com.android.org.bouncycastle.x509.X509V3CertificateGenerator { public *; }
230