public class org.bouncycastle.jce.provider.JDKPKCS12KeyStore extends java.security.KeyStoreSpi implements org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers, org.bouncycastle.asn1.x509.X509ObjectIdentifiers, org.bouncycastle.jce.interfaces.BCKeyStore
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.JDKPKCS12KeyStore
super_class: java.security.KeyStoreSpi
{
private static final int SALT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final int MIN_ITERATIONS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final java.security.Provider bcProvider;
descriptor: Ljava/security/Provider;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable keys;
descriptor: Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable localIds;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable certs;
descriptor: Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable chainCerts;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable keyCerts;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
static final int NULL;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int CERTIFICATE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int KEY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int SECRET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int SEALED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int KEY_PRIVATE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int KEY_PUBLIC;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int KEY_SECRET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0004) ACC_PROTECTED
private java.security.cert.CertificateFactory certFact;
descriptor: Ljava/security/cert/CertificateFactory;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.DERObjectIdentifier keyAlgorithm;
descriptor: Lorg/bouncycastle/asn1/DERObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.DERObjectIdentifier certAlgorithm;
descriptor: Lorg/bouncycastle/asn1/DERObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.bouncycastle.jce.provider.BouncyCastleProvider
dup
invokespecial org.bouncycastle.jce.provider.BouncyCastleProvider.<init>:()V
putstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.security.Provider, org.bouncycastle.asn1.DERObjectIdentifier, org.bouncycastle.asn1.DERObjectIdentifier);
descriptor: (Ljava/security/Provider;Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObjectIdentifier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.security.KeyStoreSpi.<init>:()V
1: aload 0
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable
dup
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
2: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.localIds:Ljava/util/Hashtable;
3: aload 0
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable
dup
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
4: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
5: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
6: aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.random:Ljava/security/SecureRandom;
7: aload 0
aload 2
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyAlgorithm:Lorg/bouncycastle/asn1/DERObjectIdentifier;
8: aload 0
aload 3
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certAlgorithm:Lorg/bouncycastle/asn1/DERObjectIdentifier;
9: aload 1
ifnull 12
10: aload 0
ldc "X.509"
aload 1
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/cert/CertificateFactory;
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certFact:Ljava/security/cert/CertificateFactory;
11: goto 16
12: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.security.Provider org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.DERObjectIdentifier
StackMap stack:
aload 0
ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certFact:Ljava/security/cert/CertificateFactory;
13: goto 16
14: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 15: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "can't create cert factory - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 17 1 provider Ljava/security/Provider;
0 17 2 keyAlgorithm Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 17 3 certAlgorithm Lorg/bouncycastle/asn1/DERObjectIdentifier;
15 16 4 e Ljava/lang/Exception;
Exception table:
from to target type
9 13 14 Class java.lang.Exception
MethodParameters:
Name Flags
provider
keyAlgorithm
certAlgorithm
private org.bouncycastle.asn1.x509.SubjectKeyIdentifier createSubjectKeyId(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)Lorg/bouncycastle/asn1/x509/SubjectKeyIdentifier;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
1: aload 1
invokeinterface java.security.PublicKey.getEncoded:()[B
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
2: invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 2
start local 2 3: new org.bouncycastle.asn1.x509.SubjectKeyIdentifier
dup
aload 2
invokespecial org.bouncycastle.asn1.x509.SubjectKeyIdentifier.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
4: areturn
end local 2 5: StackMap locals:
StackMap stack: java.lang.Exception
pop
6: new java.lang.RuntimeException
dup
ldc "error creating key"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 7 1 pubKey Ljava/security/PublicKey;
3 5 2 info Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
Exception table:
from to target type
0 4 5 Class java.lang.Exception
MethodParameters:
Name Flags
pubKey
public void setRandom(java.security.SecureRandom);
descriptor: (Ljava/security/SecureRandom;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.random:Ljava/security/SecureRandom;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 2 1 rand Ljava/security/SecureRandom;
MethodParameters:
Name Flags
rand
public java.util.Enumeration engineAliases();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 2
start local 2 2: goto 4
3: StackMap locals: java.util.Hashtable java.util.Enumeration
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
ldc "cert"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
5: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 2
6: goto 10
7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 8: aload 1
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 10
9: aload 1
aload 3
ldc "key"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 10: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
11: aload 1
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
1 12 1 tab Ljava/util/Hashtable;
2 12 2 e Ljava/util/Enumeration;
8 10 3 a Ljava/lang/String;
public boolean engineContainsAlias(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnonnull 1
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnonnull 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 2 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
public void engineDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.remove:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.Key
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.remove:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId
dup
aload 0
aload 3
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId.<init>:(Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;Ljava/security/PublicKey;)V
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.security.Key java.security.cert.Certificate
StackMap stack:
aload 2
ifnull 10
5: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.localIds:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 4
ifnull 8
7: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 3
8: StackMap locals: java.lang.String
StackMap stack:
aload 3
ifnull 10
9: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId
dup
aload 0
aload 3
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId.<init>:(Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;Ljava/security/PublicKey;)V
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 10: StackMap locals:
StackMap stack:
aload 3
ifnonnull 12
aload 2
ifnonnull 12
11: new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "no such entry as "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 13 1 alias Ljava/lang/String;
1 13 2 k Ljava/security/Key;
2 13 3 c Ljava/security/cert/Certificate;
6 10 4 id Ljava/lang/String;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
public java.security.cert.Certificate engineGetCertificate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "null alias passed to getCertificate."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 2
start local 2 3: aload 2
ifnonnull 9
4: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.localIds:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 5: aload 3
ifnull 8
6: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 2
7: goto 9
8: StackMap locals: java.security.cert.Certificate java.lang.String
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 2
end local 3 9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 10 1 alias Ljava/lang/String;
3 10 2 c Ljava/security/cert/Certificate;
5 9 3 id Ljava/lang/String;
MethodParameters:
Name Flags
alias
public java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.elements:()Ljava/util/Enumeration;
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 3
start local 3 2: goto 7
3: StackMap locals: java.util.Enumeration java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 4
start local 4 4: aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 5: aload 4
aload 1
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 7
6: aload 5
areturn
end local 5 end local 4 7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
8: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
astore 2
9: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 3
10: goto 15
11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 4
start local 4 12: aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 13: aload 4
aload 1
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 15
14: aload 5
areturn
end local 5 end local 4 15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 11
16: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 17 1 cert Ljava/security/cert/Certificate;
1 17 2 c Ljava/util/Enumeration;
2 17 3 k Ljava/util/Enumeration;
4 7 4 tc Ljava/security/cert/Certificate;
5 7 5 ta Ljava/lang/String;
12 15 4 tc Ljava/security/cert/Certificate;
13 15 5 ta Ljava/lang/String;
MethodParameters:
Name Flags
cert
public java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "null alias passed to getCertificateChain."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineIsKeyEntry:(Ljava/lang/String;)Z
ifne 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 2
start local 2 5: aload 2
ifnull 48
6: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 3
start local 3 7: goto 40
8: StackMap locals: java.security.cert.Certificate java.util.Vector
StackMap stack:
aload 2
checkcast java.security.cert.X509Certificate
astore 4
start local 4 9: aconst_null
astore 5
start local 5 10: aload 4
getstatic org.bouncycastle.asn1.x509.X509Extensions.AuthorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
astore 6
start local 6 11: aload 6
ifnull 21
12: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 6
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 7
start local 7 13: aload 7
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1OctetString
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
astore 8
start local 8 14: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 8
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 7
15: new org.bouncycastle.asn1.x509.AuthorityKeyIdentifier
dup
aload 7
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.x509.AuthorityKeyIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 9
start local 9 16: aload 9
invokevirtual org.bouncycastle.asn1.x509.AuthorityKeyIdentifier.getKeyIdentifier:()[B
ifnull 21
17: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId
dup
aload 0
aload 9
invokevirtual org.bouncycastle.asn1.x509.AuthorityKeyIdentifier.getKeyIdentifier:()[B
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId.<init>:(Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;[B)V
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 5
end local 9 end local 8 end local 7 18: goto 21
19: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.lang.String java.security.cert.Certificate java.util.Vector java.security.cert.X509Certificate java.security.cert.Certificate byte[]
StackMap stack: java.io.IOException
astore 7
start local 7 20: new java.lang.RuntimeException
dup
aload 7
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 7 21: StackMap locals:
StackMap stack:
aload 5
ifnonnull 35
22: aload 4
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 7
start local 7 23: aload 4
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
astore 8
start local 8 24: aload 7
aload 8
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ifne 35
25: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 9
start local 9 26: goto 34
27: StackMap locals: java.security.Principal java.security.Principal java.util.Enumeration
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
aload 9
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 10
start local 10 28: aload 10
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
astore 11
start local 11 29: aload 11
aload 7
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ifeq 34
30: aload 4
aload 10
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
31: aload 10
astore 5
32: goto 35
33: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.lang.String java.security.cert.Certificate java.util.Vector java.security.cert.X509Certificate java.security.cert.Certificate byte[] java.security.Principal java.security.Principal java.util.Enumeration java.security.cert.X509Certificate java.security.Principal
StackMap stack: java.lang.Exception
pop
end local 11 end local 10 34: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 27
end local 9 end local 8 end local 7 35: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
36: aload 5
aload 2
if_acmpeq 39
37: aload 5
astore 2
38: goto 40
39: StackMap locals:
StackMap stack:
aconst_null
astore 2
end local 6 end local 5 end local 4 40: StackMap locals:
StackMap stack:
aload 2
ifnonnull 8
41: aload 3
invokevirtual java.util.Vector.size:()I
anewarray java.security.cert.Certificate
astore 4
start local 4 42: iconst_0
istore 5
start local 5 43: goto 46
44: StackMap locals: java.security.cert.Certificate[] int
StackMap stack:
aload 4
iload 5
aload 3
iload 5
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.security.cert.Certificate
aastore
45: iinc 5 1
StackMap locals:
StackMap stack:
46: iload 5
aload 4
arraylength
if_icmpne 44
end local 5 47: aload 4
areturn
end local 4 end local 3 48: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 49 1 alias Ljava/lang/String;
5 49 2 c Ljava/security/cert/Certificate;
7 48 3 cs Ljava/util/Vector;
9 40 4 x509c Ljava/security/cert/X509Certificate;
10 40 5 nextC Ljava/security/cert/Certificate;
11 40 6 bytes [B
13 18 7 aIn Lorg/bouncycastle/asn1/ASN1InputStream;
14 18 8 authBytes [B
16 18 9 id Lorg/bouncycastle/asn1/x509/AuthorityKeyIdentifier;
20 21 7 e Ljava/io/IOException;
23 35 7 i Ljava/security/Principal;
24 35 8 s Ljava/security/Principal;
26 35 9 e Ljava/util/Enumeration;
28 34 10 crt Ljava/security/cert/X509Certificate;
29 34 11 sub Ljava/security/Principal;
42 48 4 certChain [Ljava/security/cert/Certificate;
43 47 5 i I
Exception table:
from to target type
12 18 19 Class java.io.IOException
30 32 33 Class java.lang.Exception
MethodParameters:
Name Flags
alias
public java.util.Date engineGetCreationDate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 1 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
public java.security.Key engineGetKey(java.lang.String, char[]);
descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "null alias passed to getKey."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.Key
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 3 1 alias Ljava/lang/String;
0 3 2 password [C
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
MethodParameters:
Name Flags
alias
password
public boolean engineIsCertificateEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 1
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 2 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
public boolean engineIsKeyEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 2 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
public void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 2
1: new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "There is a key entry with the name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
aload 2
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId
dup
aload 0
aload 2
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId.<init>:(Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;Ljava/security/PublicKey;)V
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 5 1 alias Ljava/lang/String;
0 5 2 cert Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
cert
public void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.RuntimeException
dup
ldc "operation not supported"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 1 1 alias Ljava/lang/String;
0 1 2 key [B
0 1 3 chain [Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
chain
public void engineSetKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
instanceof java.security.PrivateKey
ifeq 2
aload 4
ifnonnull 2
1: new java.security.KeyStoreException
dup
ldc "no certificate chain for private key"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 4
3: aload 0
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
aload 2
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
5: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 1
aload 4
iconst_0
aaload
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
6: iconst_0
istore 5
start local 5 7: goto 10
8: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId
dup
aload 0
aload 4
iload 5
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId.<init>:(Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;Ljava/security/PublicKey;)V
aload 4
iload 5
aaload
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 4
arraylength
if_icmpne 8
end local 5 11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 12 1 alias Ljava/lang/String;
0 12 2 key Ljava/security/Key;
0 12 3 password [C
0 12 4 chain [Ljava/security/cert/Certificate;
7 11 5 i I
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
password
chain
public int engineSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 2
start local 2 2: goto 4
3: StackMap locals: java.util.Hashtable java.util.Enumeration
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
ldc "cert"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
5: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 2
6: goto 10
7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 8: aload 1
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 10
9: aload 1
aload 3
ldc "key"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 10: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
11: aload 1
invokevirtual java.util.Hashtable.size:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
1 12 1 tab Ljava/util/Hashtable;
2 12 2 e Ljava/util/Enumeration;
8 10 3 a Ljava/lang/String;
protected java.security.PrivateKey unwrapKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[], char[], boolean);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B[CZ)Ljava/security/PrivateKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
astore 5
start local 5 1: new org.bouncycastle.asn1.pkcs.PKCS12PBEParams
dup
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.PKCS12PBEParams.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 6
start local 6 2: new javax.crypto.spec.PBEKeySpec
dup
aload 3
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
astore 7
start local 7 3: aload 5
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
4: invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/SecretKeyFactory;
astore 9
start local 9 5: new javax.crypto.spec.PBEParameterSpec
dup
6: aload 6
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIV:()[B
7: aload 6
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIterations:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
8: invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
astore 10
start local 10 9: aload 9
aload 7
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 11
start local 11 10: aload 11
checkcast org.bouncycastle.jce.provider.JCEPBEKey
iload 4
invokevirtual org.bouncycastle.jce.provider.JCEPBEKey.setTryWrongPKCS12Zero:(Z)V
11: aload 5
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
astore 12
start local 12 12: aload 12
iconst_4
aload 11
aload 10
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
13: aload 12
aload 2
ldc ""
iconst_2
invokevirtual javax.crypto.Cipher.unwrap:([BLjava/lang/String;I)Ljava/security/Key;
checkcast java.security.PrivateKey
astore 8
end local 12 end local 11 end local 10 end local 9 start local 8 14: goto 17
end local 8 15: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[] char[] int java.lang.String org.bouncycastle.asn1.pkcs.PKCS12PBEParams javax.crypto.spec.PBEKeySpec
StackMap stack: java.lang.Exception
astore 9
start local 9 16: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "exception unwrapping private key - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 9 start local 8 17: StackMap locals: java.security.PrivateKey
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 18 1 algId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 18 2 data [B
0 18 3 password [C
0 18 4 wrongPKCS12Zero Z
1 18 5 algorithm Ljava/lang/String;
2 18 6 pbeParams Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
3 18 7 pbeSpec Ljavax/crypto/spec/PBEKeySpec;
14 15 8 out Ljava/security/PrivateKey;
17 18 8 out Ljava/security/PrivateKey;
5 14 9 keyFact Ljavax/crypto/SecretKeyFactory;
9 14 10 defParams Ljavax/crypto/spec/PBEParameterSpec;
10 14 11 k Ljavax/crypto/SecretKey;
12 14 12 cipher Ljavax/crypto/Cipher;
16 17 9 e Ljava/lang/Exception;
Exception table:
from to target type
3 14 15 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
algId
data
password
wrongPKCS12Zero
protected byte[] wrapKey(java.lang.String, java.security.Key, org.bouncycastle.asn1.pkcs.PKCS12PBEParams, char[]);
descriptor: (Ljava/lang/String;Ljava/security/Key;Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;[C)[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new javax.crypto.spec.PBEKeySpec
dup
aload 4
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
astore 5
start local 5 1: aload 1
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
2: invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/SecretKeyFactory;
astore 7
start local 7 3: new javax.crypto.spec.PBEParameterSpec
dup
4: aload 3
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIV:()[B
5: aload 3
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIterations:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
6: invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
astore 8
start local 8 7: aload 1
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
astore 9
start local 9 8: aload 9
iconst_3
aload 7
aload 5
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
aload 8
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
9: aload 9
aload 2
invokevirtual javax.crypto.Cipher.wrap:(Ljava/security/Key;)[B
astore 6
end local 9 end local 8 end local 7 start local 6 10: goto 13
end local 6 11: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.lang.String java.security.Key org.bouncycastle.asn1.pkcs.PKCS12PBEParams char[] javax.crypto.spec.PBEKeySpec
StackMap stack: java.lang.Exception
astore 7
start local 7 12: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "exception encrypting data - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 7 start local 6 13: StackMap locals: byte[]
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 14 1 algorithm Ljava/lang/String;
0 14 2 key Ljava/security/Key;
0 14 3 pbeParams Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
0 14 4 password [C
1 14 5 pbeSpec Ljavax/crypto/spec/PBEKeySpec;
10 11 6 out [B
13 14 6 out [B
3 10 7 keyFact Ljavax/crypto/SecretKeyFactory;
7 10 8 defParams Ljavax/crypto/spec/PBEParameterSpec;
8 10 9 cipher Ljavax/crypto/Cipher;
12 13 7 e Ljava/lang/Exception;
Exception table:
from to target type
1 10 11 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
algorithm
key
pbeParams
password
protected byte[] cryptData(boolean, org.bouncycastle.asn1.x509.AlgorithmIdentifier, char[], boolean, byte[]);
descriptor: (ZLorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[CZ[B)[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
astore 6
start local 6 1: new org.bouncycastle.asn1.pkcs.PKCS12PBEParams
dup
aload 2
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.PKCS12PBEParams.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 7
start local 7 2: new javax.crypto.spec.PBEKeySpec
dup
aload 3
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
astore 8
start local 8 3: aload 6
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/SecretKeyFactory;
astore 9
start local 9 4: new javax.crypto.spec.PBEParameterSpec
dup
5: aload 7
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIV:()[B
6: aload 7
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIterations:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
7: invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
astore 10
start local 10 8: aload 9
aload 8
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
checkcast org.bouncycastle.jce.provider.JCEPBEKey
astore 11
start local 11 9: aload 11
iload 4
invokevirtual org.bouncycastle.jce.provider.JCEPBEKey.setTryWrongPKCS12Zero:(Z)V
10: aload 6
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
astore 12
start local 12 11: iload 1
ifeq 12
iconst_1
goto 13
StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore int org.bouncycastle.asn1.x509.AlgorithmIdentifier char[] int byte[] java.lang.String org.bouncycastle.asn1.pkcs.PKCS12PBEParams javax.crypto.spec.PBEKeySpec javax.crypto.SecretKeyFactory javax.crypto.spec.PBEParameterSpec org.bouncycastle.jce.provider.JCEPBEKey javax.crypto.Cipher
StackMap stack:
12: iconst_2
StackMap locals:
StackMap stack: int
13: istore 13
start local 13 14: aload 12
iload 13
aload 11
aload 10
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
15: aload 12
aload 5
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
16: areturn
end local 13 end local 12 end local 11 end local 10 end local 9 17: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore int org.bouncycastle.asn1.x509.AlgorithmIdentifier char[] int byte[] java.lang.String org.bouncycastle.asn1.pkcs.PKCS12PBEParams javax.crypto.spec.PBEKeySpec
StackMap stack: java.lang.Exception
astore 9
start local 9 18: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "exception decrypting data - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 19 1 forEncryption Z
0 19 2 algId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 19 3 password [C
0 19 4 wrongPKCS12Zero Z
0 19 5 data [B
1 19 6 algorithm Ljava/lang/String;
2 19 7 pbeParams Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
3 19 8 pbeSpec Ljavax/crypto/spec/PBEKeySpec;
4 17 9 keyFact Ljavax/crypto/SecretKeyFactory;
8 17 10 defParams Ljavax/crypto/spec/PBEParameterSpec;
9 17 11 key Lorg/bouncycastle/jce/provider/JCEPBEKey;
11 17 12 cipher Ljavax/crypto/Cipher;
14 17 13 mode I
18 19 9 e Ljava/lang/Exception;
Exception table:
from to target type
3 16 17 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
forEncryption
algId
password
wrongPKCS12Zero
data
public void engineLoad(java.io.InputStream, char[]);
descriptor: (Ljava/io/InputStream;[C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=31, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "No password supplied for PKCS#12 KeyStore."
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new java.io.BufferedInputStream
dup
aload 1
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 3
start local 3 5: aload 3
bipush 10
invokevirtual java.io.BufferedInputStream.mark:(I)V
6: aload 3
invokevirtual java.io.BufferedInputStream.read:()I
istore 4
start local 4 7: iload 4
bipush 48
if_icmpeq 9
8: new java.io.IOException
dup
ldc "stream does not represent a PKCS12 key store"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.io.BufferedInputStream int
StackMap stack:
aload 3
invokevirtual java.io.BufferedInputStream.reset:()V
10: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 3
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;)V
astore 5
start local 5 11: aload 5
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 6
start local 6 12: new org.bouncycastle.asn1.pkcs.Pfx
dup
aload 6
invokespecial org.bouncycastle.asn1.pkcs.Pfx.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 7
start local 7 13: aload 7
invokevirtual org.bouncycastle.asn1.pkcs.Pfx.getAuthSafe:()Lorg/bouncycastle/asn1/pkcs/ContentInfo;
astore 8
start local 8 14: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 9
start local 9 15: iconst_0
istore 10
start local 10 16: iconst_0
istore 11
start local 11 17: aload 7
invokevirtual org.bouncycastle.asn1.pkcs.Pfx.getMacData:()Lorg/bouncycastle/asn1/pkcs/MacData;
ifnull 38
18: aload 7
invokevirtual org.bouncycastle.asn1.pkcs.Pfx.getMacData:()Lorg/bouncycastle/asn1/pkcs/MacData;
astore 12
start local 12 19: aload 12
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getMac:()Lorg/bouncycastle/asn1/x509/DigestInfo;
astore 13
start local 13 20: aload 13
invokevirtual org.bouncycastle.asn1.x509.DigestInfo.getAlgorithmId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 14
start local 14 21: aload 12
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getSalt:()[B
astore 15
start local 15 22: aload 12
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getIterationCount:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 16
start local 16 23: aload 8
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1OctetString
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
astore 17
start local 17 24: aload 14
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 15
iload 16
aload 2
iconst_0
aload 17
invokestatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.calculatePbeMac:(Lorg/bouncycastle/asn1/DERObjectIdentifier;[BI[CZ[B)[B
astore 18
start local 18 25: aload 13
invokevirtual org.bouncycastle.asn1.x509.DigestInfo.getDigest:()[B
astore 19
start local 19 26: aload 18
aload 19
invokestatic org.bouncycastle.util.Arrays.constantTimeAreEqual:([B[B)Z
ifne 38
27: aload 2
arraylength
ifle 29
28: new java.io.IOException
dup
ldc "PKCS12 key store mac invalid - wrong password or corrupted file."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.MacData org.bouncycastle.asn1.x509.DigestInfo org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[] int byte[] byte[] byte[]
StackMap stack:
aload 14
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 15
iload 16
aload 2
iconst_1
aload 17
invokestatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.calculatePbeMac:(Lorg/bouncycastle/asn1/DERObjectIdentifier;[BI[CZ[B)[B
astore 18
30: aload 18
aload 19
invokestatic org.bouncycastle.util.Arrays.constantTimeAreEqual:([B[B)Z
ifne 32
31: new java.io.IOException
dup
ldc "PKCS12 key store mac invalid - wrong password or corrupted file."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
iconst_1
istore 11
end local 19 end local 18 33: goto 38
34: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.MacData org.bouncycastle.asn1.x509.DigestInfo org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[] int byte[]
StackMap stack: java.io.IOException
astore 18
start local 18 35: aload 18
athrow
end local 18 36: StackMap locals:
StackMap stack: java.lang.Exception
astore 18
start local 18 37: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "error constructing MAC: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 38: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int
StackMap stack:
aload 0
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable
dup
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
39: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.localIds:Ljava/util/Hashtable;
40: aload 8
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.data:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 188
41: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 8
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1OctetString
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 5
42: new org.bouncycastle.asn1.pkcs.AuthenticatedSafe
dup
aload 5
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.AuthenticatedSafe.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 12
start local 12 43: aload 12
invokevirtual org.bouncycastle.asn1.pkcs.AuthenticatedSafe.getContentInfo:()[Lorg/bouncycastle/asn1/pkcs/ContentInfo;
astore 13
start local 13 44: iconst_0
istore 14
start local 14 45: goto 187
46: StackMap locals: org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int
StackMap stack:
aload 13
iload 14
aaload
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.data:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 99
47: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 13
iload 14
aaload
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1OctetString
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 15
start local 15 48: aload 15
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 16
start local 16 49: iconst_0
istore 17
start local 17 50: goto 97
51: StackMap locals: org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence int
StackMap stack:
new org.bouncycastle.asn1.pkcs.SafeBag
dup
aload 16
iload 17
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.SafeBag.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 18
start local 18 52: aload 18
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs8ShroudedKeyBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 91
53: new org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo
dup
aload 18
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagValue:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 19
start local 19 54: aload 0
aload 19
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.getEncryptionAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 19
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.getEncryptedData:()[B
aload 2
iload 11
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.unwrapKey:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B[CZ)Ljava/security/PrivateKey;
astore 20
start local 20 55: aload 20
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 21
start local 21 56: aconst_null
astore 22
start local 22 57: aconst_null
astore 23
start local 23 58: aload 18
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagAttributes:()Lorg/bouncycastle/asn1/ASN1Set;
ifnull 81
59: aload 18
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagAttributes:()Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjects:()Ljava/util/Enumeration;
astore 24
start local 24 60: goto 80
61: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration
StackMap stack:
aload 24
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 25
start local 25 62: aload 25
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 26
start local 26 63: aload 25
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Set
astore 27
start local 27 64: aconst_null
astore 28
start local 28 65: aload 27
invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
ifle 74
66: aload 27
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObject
astore 28
67: aload 21
aload 26
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
astore 29
start local 29 68: aload 29
ifnull 73
69: aload 29
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
aload 28
invokevirtual org.bouncycastle.asn1.DERObject.equals:(Ljava/lang/Object;)Z
ifne 74
70: new java.io.IOException
dup
71: ldc "attempt to add existing attribute with different value"
72: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
73: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.DERObject org.bouncycastle.asn1.DEREncodable
StackMap stack:
aload 21
aload 26
aload 28
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
end local 29 74: StackMap locals:
StackMap stack:
aload 26
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 78
75: aload 28
checkcast org.bouncycastle.asn1.DERBMPString
invokevirtual org.bouncycastle.asn1.DERBMPString.getString:()Ljava/lang/String;
astore 22
76: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 22
aload 20
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
77: goto 80
78: StackMap locals:
StackMap stack:
aload 26
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 80
79: aload 28
checkcast org.bouncycastle.asn1.ASN1OctetString
astore 23
end local 28 end local 27 end local 26 end local 25 80: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration
StackMap stack:
aload 24
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 61
end local 24 81: StackMap locals:
StackMap stack:
aload 23
ifnull 88
82: new java.lang.String
dup
aload 23
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.util.encoders.Hex.encode:([B)[B
invokespecial java.lang.String.<init>:([B)V
astore 24
start local 24 83: aload 22
ifnonnull 86
84: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 24
aload 20
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
85: goto 96
86: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.localIds:Ljava/util/Hashtable;
aload 22
aload 24
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 24 87: goto 96
88: StackMap locals:
StackMap stack:
iconst_1
istore 10
89: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
ldc "unmarked"
aload 20
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
end local 23 end local 22 end local 21 end local 20 end local 19 90: goto 96
91: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag
StackMap stack:
aload 18
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 94
92: aload 9
aload 18
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
93: goto 96
94: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "extra in data "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
95: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 18
invokestatic org.bouncycastle.asn1.util.ASN1Dump.dumpAsString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 18 96: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
97: iload 17
aload 16
invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
if_icmpne 51
end local 17 end local 16 end local 15 98: goto 186
99: StackMap locals:
StackMap stack:
aload 13
iload 14
aaload
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.encryptedData:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 184
100: new org.bouncycastle.asn1.pkcs.EncryptedData
dup
aload 13
iload 14
aaload
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.EncryptedData.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 15
start local 15 101: aload 0
iconst_0
aload 15
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedData.getEncryptionAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
102: aload 2
iload 11
aload 15
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedData.getContent:()Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
103: invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData:(ZLorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[CZ[B)[B
astore 16
start local 16 104: aload 16
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 17
start local 17 105: iconst_0
istore 18
start local 18 106: goto 182
107: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int
StackMap stack:
new org.bouncycastle.asn1.pkcs.SafeBag
dup
aload 17
iload 18
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.SafeBag.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 19
start local 19 108: aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 111
109: aload 9
aload 19
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
110: goto 181
111: StackMap locals: org.bouncycastle.asn1.pkcs.SafeBag
StackMap stack:
aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs8ShroudedKeyBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 145
112: new org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo
dup
aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagValue:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 20
start local 20 113: aload 0
aload 20
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.getEncryptionAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 20
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.getEncryptedData:()[B
aload 2
iload 11
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.unwrapKey:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B[CZ)Ljava/security/PrivateKey;
astore 21
start local 21 114: aload 21
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 22
start local 22 115: aconst_null
astore 23
start local 23 116: aconst_null
astore 24
start local 24 117: aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagAttributes:()Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjects:()Ljava/util/Enumeration;
astore 25
start local 25 118: goto 138
119: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration
StackMap stack:
aload 25
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 26
start local 26 120: aload 26
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 27
start local 27 121: aload 26
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Set
astore 28
start local 28 122: aconst_null
astore 29
start local 29 123: aload 28
invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
ifle 132
124: aload 28
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObject
astore 29
125: aload 22
aload 27
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
astore 30
start local 30 126: aload 30
ifnull 131
127: aload 30
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
aload 29
invokevirtual org.bouncycastle.asn1.DERObject.equals:(Ljava/lang/Object;)Z
ifne 132
128: new java.io.IOException
dup
129: ldc "attempt to add existing attribute with different value"
130: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
131: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.DERObject org.bouncycastle.asn1.DEREncodable
StackMap stack:
aload 22
aload 27
aload 29
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
end local 30 132: StackMap locals:
StackMap stack:
aload 27
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 136
133: aload 29
checkcast org.bouncycastle.asn1.DERBMPString
invokevirtual org.bouncycastle.asn1.DERBMPString.getString:()Ljava/lang/String;
astore 23
134: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 23
aload 21
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
135: goto 138
136: StackMap locals:
StackMap stack:
aload 27
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 138
137: aload 29
checkcast org.bouncycastle.asn1.ASN1OctetString
astore 24
end local 29 end local 28 end local 27 end local 26 138: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration
StackMap stack:
aload 25
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 119
139: new java.lang.String
dup
aload 24
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.util.encoders.Hex.encode:([B)[B
invokespecial java.lang.String.<init>:([B)V
astore 26
start local 26 140: aload 23
ifnonnull 143
141: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 26
aload 21
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
142: goto 181
143: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.localIds:Ljava/util/Hashtable;
aload 23
aload 26
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 144: goto 181
145: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag
StackMap stack:
aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 179
146: new org.bouncycastle.asn1.pkcs.PrivateKeyInfo
dup
aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagValue:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.PrivateKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 20
start local 20 147: aload 20
invokestatic org.bouncycastle.jce.provider.JDKKeyFactory.createPrivateKeyFromPrivateKeyInfo:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)Ljava/security/PrivateKey;
astore 21
start local 21 148: aload 21
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 22
start local 22 149: aconst_null
astore 23
start local 23 150: aconst_null
astore 24
start local 24 151: aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagAttributes:()Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjects:()Ljava/util/Enumeration;
astore 25
start local 25 152: goto 172
153: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.PrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration
StackMap stack:
aload 25
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 26
start local 26 154: aload 26
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 27
start local 27 155: aload 26
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Set
astore 28
start local 28 156: aconst_null
astore 29
start local 29 157: aload 28
invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
ifle 166
158: aload 28
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObject
astore 29
159: aload 22
aload 27
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
astore 30
start local 30 160: aload 30
ifnull 165
161: aload 30
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
aload 29
invokevirtual org.bouncycastle.asn1.DERObject.equals:(Ljava/lang/Object;)Z
ifne 166
162: new java.io.IOException
dup
163: ldc "attempt to add existing attribute with different value"
164: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
165: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.PrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.DERObject org.bouncycastle.asn1.DEREncodable
StackMap stack:
aload 22
aload 27
aload 29
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
end local 30 166: StackMap locals:
StackMap stack:
aload 27
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 170
167: aload 29
checkcast org.bouncycastle.asn1.DERBMPString
invokevirtual org.bouncycastle.asn1.DERBMPString.getString:()Ljava/lang/String;
astore 23
168: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 23
aload 21
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
169: goto 172
170: StackMap locals:
StackMap stack:
aload 27
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 172
171: aload 29
checkcast org.bouncycastle.asn1.ASN1OctetString
astore 24
end local 29 end local 28 end local 27 end local 26 172: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.PrivateKeyInfo java.security.PrivateKey org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.lang.String org.bouncycastle.asn1.ASN1OctetString java.util.Enumeration
StackMap stack:
aload 25
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 153
173: new java.lang.String
dup
aload 24
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.util.encoders.Hex.encode:([B)[B
invokespecial java.lang.String.<init>:([B)V
astore 26
start local 26 174: aload 23
ifnonnull 177
175: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 26
aload 21
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
176: goto 181
177: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.localIds:Ljava/util/Hashtable;
aload 23
aload 26
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 178: goto 181
179: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int org.bouncycastle.asn1.pkcs.EncryptedData byte[] org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.pkcs.SafeBag
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "extra in encryptedData "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
180: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 19
invokestatic org.bouncycastle.asn1.util.ASN1Dump.dumpAsString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 19 181: StackMap locals:
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
182: iload 18
aload 17
invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
if_icmpne 107
end local 18 end local 17 end local 16 end local 15 183: goto 186
184: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int org.bouncycastle.asn1.pkcs.AuthenticatedSafe org.bouncycastle.asn1.pkcs.ContentInfo[] int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "extra "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
iload 14
aaload
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
185: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "extra "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
iload 14
aaload
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
invokestatic org.bouncycastle.asn1.util.ASN1Dump.dumpAsString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
186: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
187: iload 14
aload 13
arraylength
if_icmpne 46
end local 14 end local 13 end local 12 188: StackMap locals:
StackMap stack:
aload 0
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable
dup
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
189: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
190: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
191: iconst_0
istore 12
start local 12 192: goto 241
193: StackMap locals: int
StackMap stack:
aload 9
iload 12
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.pkcs.SafeBag
astore 13
start local 13 194: new org.bouncycastle.asn1.pkcs.CertBag
dup
aload 13
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagValue:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.CertBag.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 14
start local 14 195: aload 14
invokevirtual org.bouncycastle.asn1.pkcs.CertBag.getCertId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.x509Certificate:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 197
196: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported certificate type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual org.bouncycastle.asn1.pkcs.CertBag.getCertId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
197: StackMap locals: org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.CertBag
StackMap stack:
new java.io.ByteArrayInputStream
dup
198: aload 14
invokevirtual org.bouncycastle.asn1.pkcs.CertBag.getCertValue:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1OctetString
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
199: invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 16
start local 16 200: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certFact:Ljava/security/cert/CertificateFactory;
aload 16
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
astore 15
end local 16 start local 15 201: goto 204
end local 15 202: StackMap locals:
StackMap stack: java.lang.Exception
astore 16
start local 16 203: new java.lang.RuntimeException
dup
aload 16
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 16 start local 15 204: StackMap locals: java.security.cert.Certificate
StackMap stack:
aconst_null
astore 16
start local 16 205: aconst_null
astore 17
start local 17 206: aload 13
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagAttributes:()Lorg/bouncycastle/asn1/ASN1Set;
ifnull 228
207: aload 13
invokevirtual org.bouncycastle.asn1.pkcs.SafeBag.getBagAttributes:()Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjects:()Ljava/util/Enumeration;
astore 18
start local 18 208: goto 227
209: StackMap locals: org.bouncycastle.asn1.ASN1OctetString java.lang.String java.util.Enumeration
StackMap stack:
aload 18
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 19
start local 19 210: aload 19
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 20
start local 20 211: aload 19
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Set
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObject
astore 21
start local 21 212: aconst_null
astore 22
start local 22 213: aload 15
instanceof org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
ifeq 222
214: aload 15
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 22
215: aload 22
aload 20
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
astore 23
start local 23 216: aload 23
ifnull 221
217: aload 23
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
aload 21
invokevirtual org.bouncycastle.asn1.DERObject.equals:(Ljava/lang/Object;)Z
ifne 222
218: new java.io.IOException
dup
219: ldc "attempt to add existing attribute with different value"
220: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
221: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.CertBag java.security.cert.Certificate org.bouncycastle.asn1.ASN1OctetString java.lang.String java.util.Enumeration org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.DERObject org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier org.bouncycastle.asn1.DEREncodable
StackMap stack:
aload 22
aload 20
aload 21
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
end local 23 222: StackMap locals:
StackMap stack:
aload 20
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 225
223: aload 21
checkcast org.bouncycastle.asn1.DERBMPString
invokevirtual org.bouncycastle.asn1.DERBMPString.getString:()Ljava/lang/String;
astore 17
224: goto 227
225: StackMap locals:
StackMap stack:
aload 20
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 227
226: aload 21
checkcast org.bouncycastle.asn1.ASN1OctetString
astore 16
end local 22 end local 21 end local 20 end local 19 227: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int int org.bouncycastle.asn1.pkcs.SafeBag org.bouncycastle.asn1.pkcs.CertBag java.security.cert.Certificate org.bouncycastle.asn1.ASN1OctetString java.lang.String java.util.Enumeration
StackMap stack:
aload 18
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 209
end local 18 228: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
new org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId
dup
aload 0
aload 15
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId.<init>:(Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;Ljava/security/PublicKey;)V
aload 15
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
229: iload 10
ifeq 235
230: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.isEmpty:()Z
ifeq 240
231: new java.lang.String
dup
aload 0
aload 15
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.createSubjectKeyId:(Ljava/security/PublicKey;)Lorg/bouncycastle/asn1/x509/SubjectKeyIdentifier;
invokevirtual org.bouncycastle.asn1.x509.SubjectKeyIdentifier.getKeyIdentifier:()[B
invokestatic org.bouncycastle.util.encoders.Hex.encode:([B)[B
invokespecial java.lang.String.<init>:([B)V
astore 18
start local 18 232: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
aload 18
aload 15
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
233: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 18
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
ldc "unmarked"
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.remove:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
end local 18 234: goto 240
235: StackMap locals:
StackMap stack:
aload 16
ifnull 238
236: new java.lang.String
dup
aload 16
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.util.encoders.Hex.encode:([B)[B
invokespecial java.lang.String.<init>:([B)V
astore 18
start local 18 237: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyCerts:Ljava/util/Hashtable;
aload 18
aload 15
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 18 238: StackMap locals:
StackMap stack:
aload 17
ifnull 240
239: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 17
aload 15
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.put:(Ljava/lang/String;Ljava/lang/Object;)V
end local 17 end local 16 end local 15 end local 14 end local 13 240: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.InputStream char[] java.io.BufferedInputStream int org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo java.util.Vector int int int
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
241: iload 12
aload 9
invokevirtual java.util.Vector.size:()I
if_icmpne 193
end local 12 242: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 243 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 243 1 stream Ljava/io/InputStream;
0 243 2 password [C
5 243 3 bufIn Ljava/io/BufferedInputStream;
7 243 4 head I
11 243 5 bIn Lorg/bouncycastle/asn1/ASN1InputStream;
12 243 6 obj Lorg/bouncycastle/asn1/ASN1Sequence;
13 243 7 bag Lorg/bouncycastle/asn1/pkcs/Pfx;
14 243 8 info Lorg/bouncycastle/asn1/pkcs/ContentInfo;
15 243 9 chain Ljava/util/Vector;
16 243 10 unmarkedKey Z
17 243 11 wrongPKCS12Zero Z
19 38 12 mData Lorg/bouncycastle/asn1/pkcs/MacData;
20 38 13 dInfo Lorg/bouncycastle/asn1/x509/DigestInfo;
21 38 14 algId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
22 38 15 salt [B
23 38 16 itCount I
24 38 17 data [B
25 33 18 res [B
26 33 19 dig [B
35 36 18 e Ljava/io/IOException;
37 38 18 e Ljava/lang/Exception;
43 188 12 authSafe Lorg/bouncycastle/asn1/pkcs/AuthenticatedSafe;
44 188 13 c [Lorg/bouncycastle/asn1/pkcs/ContentInfo;
45 188 14 i I
48 98 15 dIn Lorg/bouncycastle/asn1/ASN1InputStream;
49 98 16 seq Lorg/bouncycastle/asn1/ASN1Sequence;
50 98 17 j I
52 96 18 b Lorg/bouncycastle/asn1/pkcs/SafeBag;
54 90 19 eIn Lorg/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo;
55 90 20 privKey Ljava/security/PrivateKey;
56 90 21 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
57 90 22 alias Ljava/lang/String;
58 90 23 localId Lorg/bouncycastle/asn1/ASN1OctetString;
60 81 24 e Ljava/util/Enumeration;
62 80 25 sq Lorg/bouncycastle/asn1/ASN1Sequence;
63 80 26 aOid Lorg/bouncycastle/asn1/DERObjectIdentifier;
64 80 27 attrSet Lorg/bouncycastle/asn1/ASN1Set;
65 80 28 attr Lorg/bouncycastle/asn1/DERObject;
68 74 29 existing Lorg/bouncycastle/asn1/DEREncodable;
83 87 24 name Ljava/lang/String;
101 183 15 d Lorg/bouncycastle/asn1/pkcs/EncryptedData;
104 183 16 octets [B
105 183 17 seq Lorg/bouncycastle/asn1/ASN1Sequence;
106 183 18 j I
108 181 19 b Lorg/bouncycastle/asn1/pkcs/SafeBag;
113 144 20 eIn Lorg/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo;
114 144 21 privKey Ljava/security/PrivateKey;
115 144 22 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
116 144 23 alias Ljava/lang/String;
117 144 24 localId Lorg/bouncycastle/asn1/ASN1OctetString;
118 144 25 e Ljava/util/Enumeration;
120 138 26 sq Lorg/bouncycastle/asn1/ASN1Sequence;
121 138 27 aOid Lorg/bouncycastle/asn1/DERObjectIdentifier;
122 138 28 attrSet Lorg/bouncycastle/asn1/ASN1Set;
123 138 29 attr Lorg/bouncycastle/asn1/DERObject;
126 132 30 existing Lorg/bouncycastle/asn1/DEREncodable;
140 144 26 name Ljava/lang/String;
147 178 20 pIn Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;
148 178 21 privKey Ljava/security/PrivateKey;
149 178 22 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
150 178 23 alias Ljava/lang/String;
151 178 24 localId Lorg/bouncycastle/asn1/ASN1OctetString;
152 178 25 e Ljava/util/Enumeration;
154 172 26 sq Lorg/bouncycastle/asn1/ASN1Sequence;
155 172 27 aOid Lorg/bouncycastle/asn1/DERObjectIdentifier;
156 172 28 attrSet Lorg/bouncycastle/asn1/ASN1Set;
157 172 29 attr Lorg/bouncycastle/asn1/DERObject;
160 166 30 existing Lorg/bouncycastle/asn1/DEREncodable;
174 178 26 name Ljava/lang/String;
192 242 12 i I
194 240 13 b Lorg/bouncycastle/asn1/pkcs/SafeBag;
195 240 14 cb Lorg/bouncycastle/asn1/pkcs/CertBag;
201 202 15 cert Ljava/security/cert/Certificate;
204 240 15 cert Ljava/security/cert/Certificate;
200 201 16 cIn Ljava/io/ByteArrayInputStream;
203 204 16 e Ljava/lang/Exception;
205 240 16 localId Lorg/bouncycastle/asn1/ASN1OctetString;
206 240 17 alias Ljava/lang/String;
208 228 18 e Ljava/util/Enumeration;
210 227 19 sq Lorg/bouncycastle/asn1/ASN1Sequence;
211 227 20 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
212 227 21 attr Lorg/bouncycastle/asn1/DERObject;
213 227 22 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
216 222 23 existing Lorg/bouncycastle/asn1/DEREncodable;
232 234 18 name Ljava/lang/String;
237 238 18 name Ljava/lang/String;
Exception table:
from to target type
24 33 34 Class java.io.IOException
24 33 36 Class java.lang.Exception
197 201 202 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
password
public void engineStore(java.security.KeyStore$LoadStoreParameter);
descriptor: (Ljava/security/KeyStore$LoadStoreParameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "'param' arg cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.jce.provider.JDKPKCS12StoreParameter
ifne 6
3: new java.lang.IllegalArgumentException
dup
4: new java.lang.StringBuilder
dup
ldc "No support for 'param' of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.jce.provider.JDKPKCS12StoreParameter
astore 2
start local 2 7: aload 1
invokeinterface java.security.KeyStore$LoadStoreParameter.getProtectionParameter:()Ljava/security/KeyStore$ProtectionParameter;
astore 4
start local 4 8: aload 4
ifnonnull 11
9: aconst_null
astore 3
start local 3 10: goto 17
end local 3 11: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.security.KeyStore$LoadStoreParameter org.bouncycastle.jce.provider.JDKPKCS12StoreParameter top java.security.KeyStore$ProtectionParameter
StackMap stack:
aload 4
instanceof java.security.KeyStore$PasswordProtection
ifeq 14
12: aload 4
checkcast java.security.KeyStore$PasswordProtection
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
astore 3
start local 3 13: goto 17
end local 3 14: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
15: new java.lang.StringBuilder
dup
ldc "No support for protection parameter of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 3 17: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.security.KeyStore$LoadStoreParameter org.bouncycastle.jce.provider.JDKPKCS12StoreParameter char[] java.security.KeyStore$ProtectionParameter
StackMap stack:
aload 0
aload 2
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12StoreParameter.getOutputStream:()Ljava/io/OutputStream;
aload 3
aload 2
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12StoreParameter.isUseDEREncoding:()Z
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.doStore:(Ljava/io/OutputStream;[CZ)V
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 19 1 param Ljava/security/KeyStore$LoadStoreParameter;
7 19 2 bcParam Lorg/bouncycastle/jce/provider/JDKPKCS12StoreParameter;
10 11 3 password [C
13 14 3 password [C
17 19 3 password [C
8 19 4 protParam Ljava/security/KeyStore$ProtectionParameter;
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
param
public void engineStore(java.io.OutputStream, char[]);
descriptor: (Ljava/io/OutputStream;[C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.doStore:(Ljava/io/OutputStream;[CZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 2 1 stream Ljava/io/OutputStream;
0 2 2 password [C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
password
private void doStore(java.io.OutputStream, char[], boolean);
descriptor: (Ljava/io/OutputStream;[CZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=30, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "No password supplied for PKCS#12 KeyStore."
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 4
start local 4 3: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 5
start local 5 4: goto 44
5: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration
StackMap stack:
bipush 20
newarray 8
astore 6
start local 6 6: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.random:Ljava/security/SecureRandom;
aload 6
invokevirtual java.security.SecureRandom.nextBytes:([B)V
7: aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 8: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 7
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.PrivateKey
astore 8
start local 8 9: new org.bouncycastle.asn1.pkcs.PKCS12PBEParams
dup
aload 6
sipush 1024
invokespecial org.bouncycastle.asn1.pkcs.PKCS12PBEParams.<init>:([BI)V
astore 9
start local 9 10: aload 0
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyAlgorithm:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
aload 8
aload 9
aload 2
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.wrapKey:(Ljava/lang/String;Ljava/security/Key;Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;[C)[B
astore 10
start local 10 11: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keyAlgorithm:Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 9
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
astore 11
start local 11 12: new org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo
dup
aload 11
aload 10
invokespecial org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
astore 12
start local 12 13: iconst_0
istore 13
start local 13 14: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 14
start local 14 15: aload 8
instanceof org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
ifeq 32
16: aload 8
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 15
start local 15 17: aload 15
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERBMPString
astore 16
start local 16 18: aload 16
ifnull 19
aload 16
invokevirtual org.bouncycastle.asn1.DERBMPString.getString:()Ljava/lang/String;
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
19: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] java.lang.String java.security.PrivateKey org.bouncycastle.asn1.pkcs.PKCS12PBEParams byte[] org.bouncycastle.asn1.x509.AlgorithmIdentifier org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo int org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier org.bouncycastle.asn1.DERBMPString
StackMap stack:
aload 15
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DERBMPString
dup
aload 7
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
20: StackMap locals:
StackMap stack:
aload 15
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
ifnonnull 23
21: aload 0
aload 7
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 17
start local 17 22: aload 15
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
aload 17
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.createSubjectKeyId:(Ljava/security/PublicKey;)Lorg/bouncycastle/asn1/x509/SubjectKeyIdentifier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
end local 17 23: StackMap locals:
StackMap stack:
aload 15
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttributeKeys:()Ljava/util/Enumeration;
astore 17
start local 17 24: goto 31
25: StackMap locals: java.util.Enumeration
StackMap stack:
aload 17
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 18
start local 18 26: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 19
start local 19 27: aload 19
aload 18
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
28: aload 19
new org.bouncycastle.asn1.DERSet
dup
aload 15
aload 18
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
29: iconst_1
istore 13
30: aload 14
new org.bouncycastle.asn1.DERSequence
dup
aload 19
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 19 end local 18 31: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 25
end local 17 end local 16 end local 15 32: StackMap locals:
StackMap stack:
iload 13
ifne 42
33: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 15
start local 15 34: aload 0
aload 7
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 16
start local 16 35: aload 15
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
36: aload 15
new org.bouncycastle.asn1.DERSet
dup
aload 0
aload 16
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.createSubjectKeyId:(Ljava/security/PublicKey;)Lorg/bouncycastle/asn1/x509/SubjectKeyIdentifier;
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
37: aload 14
new org.bouncycastle.asn1.DERSequence
dup
aload 15
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
38: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 15
39: aload 15
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
40: aload 15
new org.bouncycastle.asn1.DERSet
dup
new org.bouncycastle.asn1.DERBMPString
dup
aload 7
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
41: aload 14
new org.bouncycastle.asn1.DERSequence
dup
aload 15
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 16 end local 15 42: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.pkcs.SafeBag
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs8ShroudedKeyBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 12
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
new org.bouncycastle.asn1.DERSet
dup
aload 14
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokespecial org.bouncycastle.asn1.pkcs.SafeBag.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObject;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 15
start local 15 43: aload 4
aload 15
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 44: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 5
45: new org.bouncycastle.asn1.DERSequence
dup
aload 4
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.DERSequence.getDEREncoded:()[B
astore 6
start local 6 46: new org.bouncycastle.asn1.BERConstructedOctetString
dup
aload 6
invokespecial org.bouncycastle.asn1.BERConstructedOctetString.<init>:([B)V
astore 7
start local 7 47: bipush 20
newarray 8
astore 8
start local 8 48: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.random:Ljava/security/SecureRandom;
aload 8
invokevirtual java.security.SecureRandom.nextBytes:([B)V
49: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 9
start local 9 50: new org.bouncycastle.asn1.pkcs.PKCS12PBEParams
dup
aload 8
sipush 1024
invokespecial org.bouncycastle.asn1.pkcs.PKCS12PBEParams.<init>:([BI)V
astore 10
start local 10 51: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certAlgorithm:Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 10
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
astore 11
start local 11 52: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 12
start local 12 53: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 13
start local 13 54: goto 94
55: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 14
start local 14 56: aload 0
aload 14
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 15
start local 15 57: iconst_0
istore 16
start local 16 58: new org.bouncycastle.asn1.pkcs.CertBag
dup
59: getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.x509Certificate:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
60: new org.bouncycastle.asn1.DEROctetString
dup
aload 15
invokevirtual java.security.cert.Certificate.getEncoded:()[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
61: invokespecial org.bouncycastle.asn1.pkcs.CertBag.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObject;)V
astore 17
start local 17 62: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 18
start local 18 63: aload 15
instanceof org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
ifeq 79
64: aload 15
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 19
start local 19 65: aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERBMPString
astore 20
start local 20 66: aload 20
ifnull 67
aload 20
invokevirtual org.bouncycastle.asn1.DERBMPString.getString:()Ljava/lang/String;
aload 14
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 68
67: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration java.lang.String java.security.cert.Certificate int org.bouncycastle.asn1.pkcs.CertBag org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier org.bouncycastle.asn1.DERBMPString
StackMap stack:
aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DERBMPString
dup
aload 14
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
68: StackMap locals:
StackMap stack:
aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
ifnonnull 70
69: aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
aload 15
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.createSubjectKeyId:(Ljava/security/PublicKey;)Lorg/bouncycastle/asn1/x509/SubjectKeyIdentifier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
70: StackMap locals:
StackMap stack:
aload 19
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttributeKeys:()Ljava/util/Enumeration;
astore 21
start local 21 71: goto 78
72: StackMap locals: java.util.Enumeration
StackMap stack:
aload 21
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 22
start local 22 73: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 23
start local 23 74: aload 23
aload 22
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
75: aload 23
new org.bouncycastle.asn1.DERSet
dup
aload 19
aload 22
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
76: aload 18
new org.bouncycastle.asn1.DERSequence
dup
aload 23
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
77: iconst_1
istore 16
end local 23 end local 22 78: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 72
end local 21 end local 20 end local 19 79: StackMap locals:
StackMap stack:
iload 16
ifne 88
80: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 19
start local 19 81: aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
82: aload 19
new org.bouncycastle.asn1.DERSet
dup
aload 0
aload 15
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.createSubjectKeyId:(Ljava/security/PublicKey;)Lorg/bouncycastle/asn1/x509/SubjectKeyIdentifier;
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
83: aload 18
new org.bouncycastle.asn1.DERSequence
dup
aload 19
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
84: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 19
85: aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
86: aload 19
new org.bouncycastle.asn1.DERSet
dup
new org.bouncycastle.asn1.DERBMPString
dup
aload 14
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
87: aload 18
new org.bouncycastle.asn1.DERSequence
dup
aload 19
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 19 88: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.pkcs.SafeBag
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 17
invokevirtual org.bouncycastle.asn1.pkcs.CertBag.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
new org.bouncycastle.asn1.DERSet
dup
aload 18
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokespecial org.bouncycastle.asn1.pkcs.SafeBag.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObject;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 19
start local 19 89: aload 9
aload 19
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
90: aload 12
aload 15
aload 15
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 91: goto 94
92: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration
StackMap stack: java.security.cert.CertificateEncodingException
astore 14
start local 14 93: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Error encoding certificate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.security.cert.CertificateEncodingException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 14 94: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 55
95: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.keys:()Ljava/util/Enumeration;
astore 13
96: goto 134
97: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 14
start local 14 98: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certs:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 14
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 15
start local 15 99: iconst_0
istore 16
start local 16 100: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.keys:Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$IgnoresCaseHashtable;
aload 14
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 102
101: goto 134
102: StackMap locals: java.lang.String java.security.cert.Certificate int
StackMap stack:
new org.bouncycastle.asn1.pkcs.CertBag
dup
103: getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.x509Certificate:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
104: new org.bouncycastle.asn1.DEROctetString
dup
aload 15
invokevirtual java.security.cert.Certificate.getEncoded:()[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
105: invokespecial org.bouncycastle.asn1.pkcs.CertBag.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObject;)V
astore 17
start local 17 106: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 18
start local 18 107: aload 15
instanceof org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
ifeq 123
108: aload 15
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 19
start local 19 109: aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERBMPString
astore 20
start local 20 110: aload 20
ifnull 111
aload 20
invokevirtual org.bouncycastle.asn1.DERBMPString.getString:()Ljava/lang/String;
aload 14
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 112
111: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration java.lang.String java.security.cert.Certificate int org.bouncycastle.asn1.pkcs.CertBag org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier org.bouncycastle.asn1.DERBMPString
StackMap stack:
aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DERBMPString
dup
aload 14
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
112: StackMap locals:
StackMap stack:
aload 19
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttributeKeys:()Ljava/util/Enumeration;
astore 21
start local 21 113: goto 122
114: StackMap locals: java.util.Enumeration
StackMap stack:
aload 21
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 22
start local 22 115: aload 22
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 117
116: goto 122
117: StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier
StackMap stack:
new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 23
start local 23 118: aload 23
aload 22
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
119: aload 23
new org.bouncycastle.asn1.DERSet
dup
aload 19
aload 22
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
120: aload 18
new org.bouncycastle.asn1.DERSequence
dup
aload 23
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
121: iconst_1
istore 16
end local 23 end local 22 122: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 114
end local 21 end local 20 end local 19 123: StackMap locals:
StackMap stack:
iload 16
ifne 128
124: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 19
start local 19 125: aload 19
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
126: aload 19
new org.bouncycastle.asn1.DERSet
dup
new org.bouncycastle.asn1.DERBMPString
dup
aload 14
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
127: aload 18
new org.bouncycastle.asn1.DERSequence
dup
aload 19
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 19 128: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.pkcs.SafeBag
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 17
invokevirtual org.bouncycastle.asn1.pkcs.CertBag.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
new org.bouncycastle.asn1.DERSet
dup
aload 18
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokespecial org.bouncycastle.asn1.pkcs.SafeBag.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObject;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 19
start local 19 129: aload 9
aload 19
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
130: aload 12
aload 15
aload 15
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 131: goto 134
132: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration
StackMap stack: java.security.cert.CertificateEncodingException
astore 14
start local 14 133: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Error encoding certificate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.security.cert.CertificateEncodingException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 14 134: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 97
135: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 13
136: goto 163
137: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId
astore 14
start local 14 138: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.chainCerts:Ljava/util/Hashtable;
aload 14
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 15
start local 15 139: aload 12
aload 15
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 141
140: goto 163
141: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId java.security.cert.Certificate
StackMap stack:
new org.bouncycastle.asn1.pkcs.CertBag
dup
142: getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.x509Certificate:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
143: new org.bouncycastle.asn1.DEROctetString
dup
aload 15
invokevirtual java.security.cert.Certificate.getEncoded:()[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
144: invokespecial org.bouncycastle.asn1.pkcs.CertBag.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObject;)V
astore 16
start local 16 145: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 17
start local 17 146: aload 15
instanceof org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
ifeq 158
147: aload 15
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 18
start local 18 148: aload 18
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttributeKeys:()Ljava/util/Enumeration;
astore 19
start local 19 149: goto 157
150: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId java.security.cert.Certificate org.bouncycastle.asn1.pkcs.CertBag org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier java.util.Enumeration
StackMap stack:
aload 19
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 20
start local 20 151: aload 20
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 153
152: goto 157
153: StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier
StackMap stack:
new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 21
start local 21 154: aload 21
aload 20
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
155: aload 21
new org.bouncycastle.asn1.DERSet
dup
aload 18
aload 20
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
156: aload 17
new org.bouncycastle.asn1.DERSequence
dup
aload 21
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 21 end local 20 157: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 150
end local 19 end local 18 158: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.pkcs.SafeBag
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.certBag:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 16
invokevirtual org.bouncycastle.asn1.pkcs.CertBag.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
new org.bouncycastle.asn1.DERSet
dup
aload 17
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokespecial org.bouncycastle.asn1.pkcs.SafeBag.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DERObject;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 18
start local 18 159: aload 9
aload 18
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 18 end local 17 end local 16 end local 15 end local 14 160: goto 163
161: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration
StackMap stack: java.security.cert.CertificateEncodingException
astore 14
start local 14 162: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Error encoding certificate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.security.cert.CertificateEncodingException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 14 163: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 137
164: new org.bouncycastle.asn1.DERSequence
dup
aload 9
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.DERSequence.getDEREncoded:()[B
astore 14
start local 14 165: aload 0
iconst_1
aload 11
aload 2
iconst_0
aload 14
invokevirtual org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData:(ZLorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[CZ[B)[B
astore 15
start local 15 166: new org.bouncycastle.asn1.pkcs.EncryptedData
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.data:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 11
new org.bouncycastle.asn1.BERConstructedOctetString
dup
aload 15
invokespecial org.bouncycastle.asn1.BERConstructedOctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.pkcs.EncryptedData.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
astore 16
start local 16 167: iconst_2
anewarray org.bouncycastle.asn1.pkcs.ContentInfo
dup
iconst_0
168: new org.bouncycastle.asn1.pkcs.ContentInfo
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.data:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 7
invokespecial org.bouncycastle.asn1.pkcs.ContentInfo.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
aastore
dup
iconst_1
169: new org.bouncycastle.asn1.pkcs.ContentInfo
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.encryptedData:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 16
invokevirtual org.bouncycastle.asn1.pkcs.EncryptedData.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokespecial org.bouncycastle.asn1.pkcs.ContentInfo.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
aastore
170: astore 17
start local 17 171: new org.bouncycastle.asn1.pkcs.AuthenticatedSafe
dup
aload 17
invokespecial org.bouncycastle.asn1.pkcs.AuthenticatedSafe.<init>:([Lorg/bouncycastle/asn1/pkcs/ContentInfo;)V
astore 18
start local 18 172: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 19
start local 19 173: iload 3
ifeq 176
174: new org.bouncycastle.asn1.DEROutputStream
dup
aload 19
invokespecial org.bouncycastle.asn1.DEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 20
start local 20 175: goto 177
end local 20 176: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration byte[] byte[] org.bouncycastle.asn1.pkcs.EncryptedData org.bouncycastle.asn1.pkcs.ContentInfo[] org.bouncycastle.asn1.pkcs.AuthenticatedSafe java.io.ByteArrayOutputStream
StackMap stack:
new org.bouncycastle.asn1.BEROutputStream
dup
aload 19
invokespecial org.bouncycastle.asn1.BEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 20
start local 20 177: StackMap locals: org.bouncycastle.asn1.DEROutputStream
StackMap stack:
aload 20
aload 18
invokevirtual org.bouncycastle.asn1.DEROutputStream.writeObject:(Ljava/lang/Object;)V
178: aload 19
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 21
start local 21 179: new org.bouncycastle.asn1.pkcs.ContentInfo
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.data:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.BERConstructedOctetString
dup
aload 21
invokespecial org.bouncycastle.asn1.BERConstructedOctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.pkcs.ContentInfo.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
astore 22
start local 22 180: bipush 20
newarray 8
astore 23
start local 23 181: sipush 1024
istore 24
start local 24 182: aload 0
getfield org.bouncycastle.jce.provider.JDKPKCS12KeyStore.random:Ljava/security/SecureRandom;
aload 23
invokevirtual java.security.SecureRandom.nextBytes:([B)V
183: aload 22
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1OctetString
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
astore 25
start local 25 184: getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.id_SHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 23
iload 24
aload 2
iconst_0
aload 25
invokestatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.calculatePbeMac:(Lorg/bouncycastle/asn1/DERObjectIdentifier;[BI[CZ[B)[B
astore 27
start local 27 185: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.id_SHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DERNull
dup
invokespecial org.bouncycastle.asn1.DERNull.<init>:()V
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
astore 28
start local 28 186: new org.bouncycastle.asn1.x509.DigestInfo
dup
aload 28
aload 27
invokespecial org.bouncycastle.asn1.x509.DigestInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
astore 29
start local 29 187: new org.bouncycastle.asn1.pkcs.MacData
dup
aload 29
aload 23
iload 24
invokespecial org.bouncycastle.asn1.pkcs.MacData.<init>:(Lorg/bouncycastle/asn1/x509/DigestInfo;[BI)V
astore 26
end local 29 end local 28 end local 27 start local 26 188: goto 191
end local 26 189: StackMap locals: org.bouncycastle.jce.provider.JDKPKCS12KeyStore java.io.OutputStream char[] int org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration byte[] org.bouncycastle.asn1.BERConstructedOctetString byte[] org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.pkcs.PKCS12PBEParams org.bouncycastle.asn1.x509.AlgorithmIdentifier java.util.Hashtable java.util.Enumeration byte[] byte[] org.bouncycastle.asn1.pkcs.EncryptedData org.bouncycastle.asn1.pkcs.ContentInfo[] org.bouncycastle.asn1.pkcs.AuthenticatedSafe java.io.ByteArrayOutputStream org.bouncycastle.asn1.DEROutputStream byte[] org.bouncycastle.asn1.pkcs.ContentInfo byte[] int byte[]
StackMap stack: java.lang.Exception
astore 27
start local 27 190: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "error constructing MAC: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 27
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 27 start local 26 191: StackMap locals: org.bouncycastle.asn1.pkcs.MacData
StackMap stack:
new org.bouncycastle.asn1.pkcs.Pfx
dup
aload 22
aload 26
invokespecial org.bouncycastle.asn1.pkcs.Pfx.<init>:(Lorg/bouncycastle/asn1/pkcs/ContentInfo;Lorg/bouncycastle/asn1/pkcs/MacData;)V
astore 27
start local 27 192: iload 3
ifeq 195
193: new org.bouncycastle.asn1.DEROutputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.DEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 20
194: goto 196
195: StackMap locals: org.bouncycastle.asn1.pkcs.Pfx
StackMap stack:
new org.bouncycastle.asn1.BEROutputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.BEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 20
196: StackMap locals:
StackMap stack:
aload 20
aload 27
invokevirtual org.bouncycastle.asn1.DEROutputStream.writeObject:(Ljava/lang/Object;)V
197: return
end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 198 0 this Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore;
0 198 1 stream Ljava/io/OutputStream;
0 198 2 password [C
0 198 3 useDEREncoding Z
3 198 4 keyS Lorg/bouncycastle/asn1/ASN1EncodableVector;
4 198 5 ks Ljava/util/Enumeration;
6 44 6 kSalt [B
8 44 7 name Ljava/lang/String;
9 44 8 privKey Ljava/security/PrivateKey;
10 44 9 kParams Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
11 44 10 kBytes [B
12 44 11 kAlgId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
13 44 12 kInfo Lorg/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo;
14 44 13 attrSet Z
15 44 14 kName Lorg/bouncycastle/asn1/ASN1EncodableVector;
17 32 15 bagAttrs Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
18 32 16 nm Lorg/bouncycastle/asn1/DERBMPString;
22 23 17 ct Ljava/security/cert/Certificate;
24 32 17 e Ljava/util/Enumeration;
26 31 18 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
27 31 19 kSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
34 42 15 kSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
35 42 16 ct Ljava/security/cert/Certificate;
43 44 15 kBag Lorg/bouncycastle/asn1/pkcs/SafeBag;
46 198 6 keySEncoded [B
47 198 7 keyString Lorg/bouncycastle/asn1/BERConstructedOctetString;
48 198 8 cSalt [B
50 198 9 certSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
51 198 10 cParams Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
52 198 11 cAlgId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
53 198 12 doneCerts Ljava/util/Hashtable;
54 198 13 cs Ljava/util/Enumeration;
56 91 14 name Ljava/lang/String;
57 91 15 cert Ljava/security/cert/Certificate;
58 91 16 cAttrSet Z
62 91 17 cBag Lorg/bouncycastle/asn1/pkcs/CertBag;
63 91 18 fName Lorg/bouncycastle/asn1/ASN1EncodableVector;
65 79 19 bagAttrs Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
66 79 20 nm Lorg/bouncycastle/asn1/DERBMPString;
71 79 21 e Ljava/util/Enumeration;
73 78 22 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
74 78 23 fSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
81 88 19 fSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
89 91 19 sBag Lorg/bouncycastle/asn1/pkcs/SafeBag;
93 94 14 e Ljava/security/cert/CertificateEncodingException;
98 131 14 certId Ljava/lang/String;
99 131 15 cert Ljava/security/cert/Certificate;
100 131 16 cAttrSet Z
106 131 17 cBag Lorg/bouncycastle/asn1/pkcs/CertBag;
107 131 18 fName Lorg/bouncycastle/asn1/ASN1EncodableVector;
109 123 19 bagAttrs Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
110 123 20 nm Lorg/bouncycastle/asn1/DERBMPString;
113 123 21 e Ljava/util/Enumeration;
115 122 22 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
118 122 23 fSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
125 128 19 fSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
129 131 19 sBag Lorg/bouncycastle/asn1/pkcs/SafeBag;
133 134 14 e Ljava/security/cert/CertificateEncodingException;
138 160 14 certId Lorg/bouncycastle/jce/provider/JDKPKCS12KeyStore$CertId;
139 160 15 cert Ljava/security/cert/Certificate;
145 160 16 cBag Lorg/bouncycastle/asn1/pkcs/CertBag;
146 160 17 fName Lorg/bouncycastle/asn1/ASN1EncodableVector;
148 158 18 bagAttrs Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
149 158 19 e Ljava/util/Enumeration;
151 157 20 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
154 157 21 fSeq Lorg/bouncycastle/asn1/ASN1EncodableVector;
159 160 18 sBag Lorg/bouncycastle/asn1/pkcs/SafeBag;
162 163 14 e Ljava/security/cert/CertificateEncodingException;
165 198 14 certSeqEncoded [B
166 198 15 certBytes [B
167 198 16 cInfo Lorg/bouncycastle/asn1/pkcs/EncryptedData;
171 198 17 info [Lorg/bouncycastle/asn1/pkcs/ContentInfo;
172 198 18 auth Lorg/bouncycastle/asn1/pkcs/AuthenticatedSafe;
173 198 19 bOut Ljava/io/ByteArrayOutputStream;
175 176 20 asn1Out Lorg/bouncycastle/asn1/DEROutputStream;
177 198 20 asn1Out Lorg/bouncycastle/asn1/DEROutputStream;
179 198 21 pkg [B
180 198 22 mainInfo Lorg/bouncycastle/asn1/pkcs/ContentInfo;
181 198 23 mSalt [B
182 198 24 itCount I
184 198 25 data [B
188 189 26 mData Lorg/bouncycastle/asn1/pkcs/MacData;
191 198 26 mData Lorg/bouncycastle/asn1/pkcs/MacData;
185 188 27 res [B
186 188 28 algId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
187 188 29 dInfo Lorg/bouncycastle/asn1/x509/DigestInfo;
190 191 27 e Ljava/lang/Exception;
192 198 27 pfx Lorg/bouncycastle/asn1/pkcs/Pfx;
Exception table:
from to target type
55 91 92 Class java.security.cert.CertificateEncodingException
97 101 132 Class java.security.cert.CertificateEncodingException
102 131 132 Class java.security.cert.CertificateEncodingException
137 140 161 Class java.security.cert.CertificateEncodingException
141 160 161 Class java.security.cert.CertificateEncodingException
184 188 189 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
password
useDEREncoding
private static byte[] calculatePbeMac(org.bouncycastle.asn1.DERObjectIdentifier, byte[], int, char[], boolean, byte[]);
descriptor: (Lorg/bouncycastle/asn1/DERObjectIdentifier;[BI[CZ[B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/SecretKeyFactory;
astore 6
start local 6 1: new javax.crypto.spec.PBEParameterSpec
dup
aload 1
iload 2
invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
astore 7
start local 7 2: new javax.crypto.spec.PBEKeySpec
dup
aload 3
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
astore 8
start local 8 3: aload 6
aload 8
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
checkcast org.bouncycastle.jce.provider.JCEPBEKey
astore 9
start local 9 4: aload 9
iload 4
invokevirtual org.bouncycastle.jce.provider.JCEPBEKey.setTryWrongPKCS12Zero:(Z)V
5: aload 0
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
getstatic org.bouncycastle.jce.provider.JDKPKCS12KeyStore.bcProvider:Ljava/security/Provider;
invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Mac;
astore 10
start local 10 6: aload 10
aload 9
aload 7
invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
7: aload 10
aload 5
invokevirtual javax.crypto.Mac.update:([B)V
8: aload 10
invokevirtual javax.crypto.Mac.doFinal:()[B
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 9 1 salt [B
0 9 2 itCount I
0 9 3 password [C
0 9 4 wrongPkcs12Zero Z
0 9 5 data [B
1 9 6 keyFact Ljavax/crypto/SecretKeyFactory;
2 9 7 defParams Ljavax/crypto/spec/PBEParameterSpec;
3 9 8 pbeSpec Ljavax/crypto/spec/PBEKeySpec;
4 9 9 key Lorg/bouncycastle/jce/provider/JCEPBEKey;
6 9 10 mac Ljavax/crypto/Mac;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
oid
salt
itCount
password
wrongPkcs12Zero
data
}
SourceFile: "JDKPKCS12KeyStore.java"
NestMembers:
org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore3DES org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId org.bouncycastle.jce.provider.JDKPKCS12KeyStore$DefPKCS12KeyStore org.bouncycastle.jce.provider.JDKPKCS12KeyStore$DefPKCS12KeyStore3DES org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable
InnerClasses:
public abstract LoadStoreParameter = java.security.KeyStore$LoadStoreParameter of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public BCPKCS12KeyStore = org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore of org.bouncycastle.jce.provider.JDKPKCS12KeyStore
public BCPKCS12KeyStore3DES = org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore3DES of org.bouncycastle.jce.provider.JDKPKCS12KeyStore
private CertId = org.bouncycastle.jce.provider.JDKPKCS12KeyStore$CertId of org.bouncycastle.jce.provider.JDKPKCS12KeyStore
public DefPKCS12KeyStore = org.bouncycastle.jce.provider.JDKPKCS12KeyStore$DefPKCS12KeyStore of org.bouncycastle.jce.provider.JDKPKCS12KeyStore
public DefPKCS12KeyStore3DES = org.bouncycastle.jce.provider.JDKPKCS12KeyStore$DefPKCS12KeyStore3DES of org.bouncycastle.jce.provider.JDKPKCS12KeyStore
private IgnoresCaseHashtable = org.bouncycastle.jce.provider.JDKPKCS12KeyStore$IgnoresCaseHashtable of org.bouncycastle.jce.provider.JDKPKCS12KeyStore