public class org.bouncycastle.jce.examples.PKCS12Example
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.examples.PKCS12Example
super_class: java.lang.Object
{
static char[] passwd;
descriptor: [C
flags: (0x0008) ACC_STATIC
static org.bouncycastle.x509.X509V1CertificateGenerator v1CertGen;
descriptor: Lorg/bouncycastle/x509/X509V1CertificateGenerator;
flags: (0x0008) ACC_STATIC
static org.bouncycastle.x509.X509V3CertificateGenerator v3CertGen;
descriptor: Lorg/bouncycastle/x509/X509V3CertificateGenerator;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 11
newarray 5
dup
iconst_0
bipush 104
castore
dup
iconst_1
bipush 101
castore
dup
iconst_2
bipush 108
castore
dup
iconst_3
bipush 108
castore
dup
iconst_4
bipush 111
castore
dup
iconst_5
bipush 32
castore
dup
bipush 6
bipush 119
castore
dup
bipush 7
bipush 111
castore
dup
bipush 8
bipush 114
castore
dup
bipush 9
bipush 108
castore
dup
bipush 10
bipush 100
castore
putstatic org.bouncycastle.jce.examples.PKCS12Example.passwd:[C
1: new org.bouncycastle.x509.X509V1CertificateGenerator
dup
invokespecial org.bouncycastle.x509.X509V1CertificateGenerator.<init>:()V
putstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
2: new org.bouncycastle.x509.X509V3CertificateGenerator
dup
invokespecial org.bouncycastle.x509.X509V3CertificateGenerator.<init>:()V
putstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/examples/PKCS12Example;
public static java.security.cert.Certificate createMasterCert(java.security.PublicKey, java.security.PrivateKey);
descriptor: (Ljava/security/PublicKey;Ljava/security/PrivateKey;)Ljava/security/cert/Certificate;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: ldc "C=AU, O=The Legion of the Bouncy Castle, OU=Bouncy Primary Certificate"
astore 2
start local 2 1: ldc "C=AU, O=The Legion of the Bouncy Castle, OU=Bouncy Primary Certificate"
astore 3
start local 3 2: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
lconst_1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.setSerialNumber:(Ljava/math/BigInteger;)V
3: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
new org.bouncycastle.jce.X509Principal
dup
aload 2
invokespecial org.bouncycastle.jce.X509Principal.<init>:(Ljava/lang/String;)V
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.setIssuerDN:(Lorg/bouncycastle/asn1/x509/X509Name;)V
4: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
ldc 2592000000
lsub
invokespecial java.util.Date.<init>:(J)V
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.setNotBefore:(Ljava/util/Date;)V
5: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
ldc 2592000000
ladd
invokespecial java.util.Date.<init>:(J)V
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.setNotAfter:(Ljava/util/Date;)V
6: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
new org.bouncycastle.jce.X509Principal
dup
aload 3
invokespecial org.bouncycastle.jce.X509Principal.<init>:(Ljava/lang/String;)V
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.setSubjectDN:(Lorg/bouncycastle/asn1/x509/X509Name;)V
7: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
aload 0
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.setPublicKey:(Ljava/security/PublicKey;)V
8: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
ldc "SHA1WithRSAEncryption"
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.setSignatureAlgorithm:(Ljava/lang/String;)V
9: getstatic org.bouncycastle.jce.examples.PKCS12Example.v1CertGen:Lorg/bouncycastle/x509/X509V1CertificateGenerator;
aload 1
invokevirtual org.bouncycastle.x509.X509V1CertificateGenerator.generate:(Ljava/security/PrivateKey;)Ljava/security/cert/X509Certificate;
astore 4
start local 4 10: aload 4
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
11: aload 4
aload 0
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
12: aload 4
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 5
start local 5 13: aload 5
14: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
15: new org.bouncycastle.asn1.DERBMPString
dup
ldc "Bouncy Primary Certificate"
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
16: invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
17: aload 4
areturn
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 pubKey Ljava/security/PublicKey;
0 18 1 privKey Ljava/security/PrivateKey;
1 18 2 issuer Ljava/lang/String;
2 18 3 subject Ljava/lang/String;
10 18 4 cert Ljava/security/cert/X509Certificate;
13 18 5 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
pubKey
privKey
public static java.security.cert.Certificate createIntermediateCert(java.security.PublicKey, java.security.PrivateKey, java.security.cert.X509Certificate);
descriptor: (Ljava/security/PublicKey;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Ljava/security/cert/Certificate;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 3
start local 3 1: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 4
start local 4 2: aload 3
getstatic org.bouncycastle.jce.X509Principal.C:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "AU"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
getstatic org.bouncycastle.jce.X509Principal.O:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "The Legion of the Bouncy Castle"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
getstatic org.bouncycastle.jce.X509Principal.OU:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "Bouncy Intermediate Certificate"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 3
getstatic org.bouncycastle.jce.X509Principal.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "feedback-crypto@bouncycastle.org"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 4
getstatic org.bouncycastle.jce.X509Principal.C:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
7: aload 4
getstatic org.bouncycastle.jce.X509Principal.O:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
8: aload 4
getstatic org.bouncycastle.jce.X509Principal.OU:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
9: aload 4
getstatic org.bouncycastle.jce.X509Principal.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
10: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.reset:()V
11: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
ldc 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setSerialNumber:(Ljava/math/BigInteger;)V
12: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
aload 2
invokestatic org.bouncycastle.jce.PrincipalUtil.getSubjectX509Principal:(Ljava/security/cert/X509Certificate;)Lorg/bouncycastle/jce/X509Principal;
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setIssuerDN:(Lorg/bouncycastle/asn1/x509/X509Name;)V
13: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
ldc 2592000000
lsub
invokespecial java.util.Date.<init>:(J)V
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setNotBefore:(Ljava/util/Date;)V
14: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
ldc 2592000000
ladd
invokespecial java.util.Date.<init>:(J)V
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setNotAfter:(Ljava/util/Date;)V
15: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
new org.bouncycastle.jce.X509Principal
dup
aload 4
aload 3
invokespecial org.bouncycastle.jce.X509Principal.<init>:(Ljava/util/Vector;Ljava/util/Hashtable;)V
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setSubjectDN:(Lorg/bouncycastle/asn1/x509/X509Name;)V
16: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
aload 0
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setPublicKey:(Ljava/security/PublicKey;)V
17: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
ldc "SHA1WithRSAEncryption"
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setSignatureAlgorithm:(Ljava/lang/String;)V
18: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
19: getstatic org.bouncycastle.asn1.x509.X509Extensions.SubjectKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
20: iconst_0
21: new org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure
dup
aload 0
invokespecial org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure.<init>:(Ljava/security/PublicKey;)V
22: invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.addExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;ZLorg/bouncycastle/asn1/DEREncodable;)V
23: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
24: getstatic org.bouncycastle.asn1.x509.X509Extensions.AuthorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
25: iconst_0
26: new org.bouncycastle.x509.extension.AuthorityKeyIdentifierStructure
dup
aload 2
invokespecial org.bouncycastle.x509.extension.AuthorityKeyIdentifierStructure.<init>:(Ljava/security/cert/X509Certificate;)V
27: invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.addExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;ZLorg/bouncycastle/asn1/DEREncodable;)V
28: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
29: getstatic org.bouncycastle.asn1.x509.X509Extensions.BasicConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
30: iconst_1
31: new org.bouncycastle.asn1.x509.BasicConstraints
dup
iconst_0
invokespecial org.bouncycastle.asn1.x509.BasicConstraints.<init>:(I)V
32: invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.addExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;ZLorg/bouncycastle/asn1/DEREncodable;)V
33: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
aload 1
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.generate:(Ljava/security/PrivateKey;)Ljava/security/cert/X509Certificate;
astore 5
start local 5 34: aload 5
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
35: aload 5
aload 2
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
36: aload 5
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 6
start local 6 37: aload 6
38: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
39: new org.bouncycastle.asn1.DERBMPString
dup
ldc "Bouncy Intermediate Certificate"
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
40: invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
41: aload 5
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 42 0 pubKey Ljava/security/PublicKey;
0 42 1 caPrivKey Ljava/security/PrivateKey;
0 42 2 caCert Ljava/security/cert/X509Certificate;
1 42 3 attrs Ljava/util/Hashtable;
2 42 4 order Ljava/util/Vector;
34 42 5 cert Ljava/security/cert/X509Certificate;
37 42 6 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
pubKey
caPrivKey
caCert
public static java.security.cert.Certificate createCert(java.security.PublicKey, java.security.PrivateKey, java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;Ljava/security/PrivateKey;Ljava/security/PublicKey;)Ljava/security/cert/Certificate;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 3
start local 3 1: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 4
start local 4 2: aload 3
getstatic org.bouncycastle.jce.X509Principal.C:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "AU"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
getstatic org.bouncycastle.jce.X509Principal.O:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "The Legion of the Bouncy Castle"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
getstatic org.bouncycastle.jce.X509Principal.OU:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "Bouncy Intermediate Certificate"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 3
getstatic org.bouncycastle.jce.X509Principal.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "feedback-crypto@bouncycastle.org"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 4
getstatic org.bouncycastle.jce.X509Principal.C:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
7: aload 4
getstatic org.bouncycastle.jce.X509Principal.O:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
8: aload 4
getstatic org.bouncycastle.jce.X509Principal.OU:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
9: aload 4
getstatic org.bouncycastle.jce.X509Principal.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
10: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 5
start local 5 11: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 6
start local 6 12: aload 5
getstatic org.bouncycastle.jce.X509Principal.C:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "AU"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 5
getstatic org.bouncycastle.jce.X509Principal.O:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "The Legion of the Bouncy Castle"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 5
getstatic org.bouncycastle.jce.X509Principal.L:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "Melbourne"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 5
getstatic org.bouncycastle.jce.X509Principal.CN:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "Eric H. Echidna"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 5
getstatic org.bouncycastle.jce.X509Principal.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
ldc "feedback-crypto@bouncycastle.org"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 6
getstatic org.bouncycastle.jce.X509Principal.C:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
18: aload 6
getstatic org.bouncycastle.jce.X509Principal.O:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
19: aload 6
getstatic org.bouncycastle.jce.X509Principal.L:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
20: aload 6
getstatic org.bouncycastle.jce.X509Principal.CN:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
21: aload 6
getstatic org.bouncycastle.jce.X509Principal.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
22: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.reset:()V
23: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
ldc 3
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setSerialNumber:(Ljava/math/BigInteger;)V
24: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
new org.bouncycastle.jce.X509Principal
dup
aload 4
aload 3
invokespecial org.bouncycastle.jce.X509Principal.<init>:(Ljava/util/Vector;Ljava/util/Hashtable;)V
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setIssuerDN:(Lorg/bouncycastle/asn1/x509/X509Name;)V
25: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
ldc 2592000000
lsub
invokespecial java.util.Date.<init>:(J)V
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setNotBefore:(Ljava/util/Date;)V
26: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
ldc 2592000000
ladd
invokespecial java.util.Date.<init>:(J)V
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setNotAfter:(Ljava/util/Date;)V
27: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
new org.bouncycastle.jce.X509Principal
dup
aload 6
aload 5
invokespecial org.bouncycastle.jce.X509Principal.<init>:(Ljava/util/Vector;Ljava/util/Hashtable;)V
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setSubjectDN:(Lorg/bouncycastle/asn1/x509/X509Name;)V
28: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
aload 0
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setPublicKey:(Ljava/security/PublicKey;)V
29: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
ldc "SHA1WithRSAEncryption"
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.setSignatureAlgorithm:(Ljava/lang/String;)V
30: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
31: getstatic org.bouncycastle.asn1.x509.X509Extensions.SubjectKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
32: iconst_0
33: new org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure
dup
aload 0
invokespecial org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure.<init>:(Ljava/security/PublicKey;)V
34: invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.addExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;ZLorg/bouncycastle/asn1/DEREncodable;)V
35: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
36: getstatic org.bouncycastle.asn1.x509.X509Extensions.AuthorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
37: iconst_0
38: new org.bouncycastle.x509.extension.AuthorityKeyIdentifierStructure
dup
aload 2
invokespecial org.bouncycastle.x509.extension.AuthorityKeyIdentifierStructure.<init>:(Ljava/security/PublicKey;)V
39: invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.addExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;ZLorg/bouncycastle/asn1/DEREncodable;)V
40: getstatic org.bouncycastle.jce.examples.PKCS12Example.v3CertGen:Lorg/bouncycastle/x509/X509V3CertificateGenerator;
aload 1
invokevirtual org.bouncycastle.x509.X509V3CertificateGenerator.generate:(Ljava/security/PrivateKey;)Ljava/security/cert/X509Certificate;
astore 7
start local 7 41: aload 7
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
42: aload 7
aload 2
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
43: aload 7
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 8
start local 8 44: aload 8
45: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
46: new org.bouncycastle.asn1.DERBMPString
dup
ldc "Eric's Key"
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
47: invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
48: aload 8
49: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
50: new org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure
dup
aload 0
invokespecial org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure.<init>:(Ljava/security/PublicKey;)V
51: invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
52: aload 7
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 53 0 pubKey Ljava/security/PublicKey;
0 53 1 caPrivKey Ljava/security/PrivateKey;
0 53 2 caPubKey Ljava/security/PublicKey;
1 53 3 sAttrs Ljava/util/Hashtable;
2 53 4 sOrder Ljava/util/Vector;
11 53 5 attrs Ljava/util/Hashtable;
12 53 6 order Ljava/util/Vector;
41 53 7 cert Ljava/security/cert/X509Certificate;
44 53 8 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
pubKey
caPrivKey
caPubKey
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=13, locals=18, args_size=1
start local 0 0: new org.bouncycastle.jce.provider.BouncyCastleProvider
dup
invokespecial org.bouncycastle.jce.provider.BouncyCastleProvider.<init>:()V
invokestatic java.security.Security.addProvider:(Ljava/security/Provider;)I
pop
1: new java.security.spec.RSAPublicKeySpec
dup
2: new java.math.BigInteger
dup
ldc "b4a7e46170574f16a97082b22be58b6a2a629798419be12872a4bdba626cfae9900f76abfb12139dce5de56564fab2b6543165a040c606887420e33d91ed7ed7"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
3: new java.math.BigInteger
dup
ldc "11"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
4: invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 1
start local 1 5: new java.security.spec.RSAPrivateCrtKeySpec
dup
6: new java.math.BigInteger
dup
ldc "b4a7e46170574f16a97082b22be58b6a2a629798419be12872a4bdba626cfae9900f76abfb12139dce5de56564fab2b6543165a040c606887420e33d91ed7ed7"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
7: new java.math.BigInteger
dup
ldc "11"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
8: new java.math.BigInteger
dup
ldc "9f66f6b05410cd503b2709e88115d55daced94d1a34d4e32bf824d0dde6028ae79c5f07b580f5dce240d7111f7ddb130a7945cd7d957d1920994da389f490c89"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
9: new java.math.BigInteger
dup
ldc "c0a0758cdf14256f78d4708c86becdead1b50ad4ad6c5c703e2168fbf37884cb"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
10: new java.math.BigInteger
dup
ldc "f01734d7960ea60070f1b06f2bb81bfac48ff192ae18451d5e56c734a5aab8a5"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
11: new java.math.BigInteger
dup
ldc "b54bb9edff22051d9ee60f9351a48591b6500a319429c069a3e335a1d6171391"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
12: new java.math.BigInteger
dup
ldc "d3d83daf2a0cecd3367ae6f8ae1aeb82e9ac2f816c6fc483533d8297dd7884cd"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
13: new java.math.BigInteger
dup
ldc "b8f52fc6f38593dabb661d3f50f8897f8106eee68b1bce78a95b132b4e5b5d19"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
14: invokespecial java.security.spec.RSAPrivateCrtKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 2
start local 2 15: new java.security.spec.RSAPublicKeySpec
dup
16: new java.math.BigInteger
dup
ldc "8de0d113c5e736969c8d2b047a243f8fe18edad64cde9e842d3669230ca486f7cfdde1f8eec54d1905fff04acc85e61093e180cadc6cea407f193d44bb0e9449b8dbb49784cd9e36260c39e06a947299978c6ed8300724e887198cfede20f3fbde658fa2bd078be946a392bd349f2b49c486e20c405588e306706c9017308e69"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
17: new java.math.BigInteger
dup
ldc "ffff"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
18: invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 3
start local 3 19: new java.security.spec.RSAPrivateCrtKeySpec
dup
20: new java.math.BigInteger
dup
ldc "8de0d113c5e736969c8d2b047a243f8fe18edad64cde9e842d3669230ca486f7cfdde1f8eec54d1905fff04acc85e61093e180cadc6cea407f193d44bb0e9449b8dbb49784cd9e36260c39e06a947299978c6ed8300724e887198cfede20f3fbde658fa2bd078be946a392bd349f2b49c486e20c405588e306706c9017308e69"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
21: new java.math.BigInteger
dup
ldc "ffff"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
22: new java.math.BigInteger
dup
ldc "7deb1b194a85bcfd29cf871411468adbc987650903e3bacc8338c449ca7b32efd39ffc33bc84412fcd7df18d23ce9d7c25ea910b1ae9985373e0273b4dca7f2e0db3b7314056ac67fd277f8f89cf2fd73c34c6ca69f9ba477143d2b0e2445548aa0b4a8473095182631da46844c356f5e5c7522eb54b5a33f11d730ead9c0cff"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
23: new java.math.BigInteger
dup
ldc "ef4cede573cea47f83699b814de4302edb60eefe426c52e17bd7870ec7c6b7a24fe55282ebb73775f369157726fcfb988def2b40350bdca9e5b418340288f649"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
24: new java.math.BigInteger
dup
ldc "97c7737d1b9a0088c3c7b528539247fd2a1593e7e01cef18848755be82f4a45aa093276cb0cbf118cb41117540a78f3fc471ba5d69f0042274defc9161265721"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
25: new java.math.BigInteger
dup
ldc "6c641094e24d172728b8da3c2777e69adfd0839085be7e38c7c4a2dd00b1ae969f2ec9d23e7e37090fcd449a40af0ed463fe1c612d6810d6b4f58b7bfa31eb5f"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
26: new java.math.BigInteger
dup
ldc "70b7123e8e69dfa76feb1236d0a686144b00e9232ed52b73847e74ef3af71fb45ccb24261f40d27f98101e230cf27b977a5d5f1f15f6cf48d5cb1da2a3a3b87f"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
27: new java.math.BigInteger
dup
ldc "e38f5750d97e270996a286df2e653fd26c242106436f5bab0f4c7a9e654ce02665d5a281f2c412456f2d1fa26586ef04a9adac9004ca7f913162cb28e13bf40d"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
28: invokespecial java.security.spec.RSAPrivateCrtKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 4
start local 4 29: new java.security.spec.RSAPublicKeySpec
dup
30: new java.math.BigInteger
dup
ldc "b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
31: new java.math.BigInteger
dup
ldc "11"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
32: invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 5
start local 5 33: new java.security.spec.RSAPrivateCrtKeySpec
dup
34: new java.math.BigInteger
dup
ldc "b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
35: new java.math.BigInteger
dup
ldc "11"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
36: new java.math.BigInteger
dup
ldc "92e08f83cc9920746989ca5034dcb384a094fb9c5a6288fcc4304424ab8f56388f72652d8fafc65a4b9020896f2cde297080f2a540e7b7ce5af0b3446e1258d1dd7f245cf54124b4c6e17da21b90a0ebd22605e6f45c9f136d7a13eaac1c0f7487de8bd6d924972408ebb58af71e76fd7b012a8d0e165f3ae2e5077a8648e619"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
37: new java.math.BigInteger
dup
ldc "f75e80839b9b9379f1cf1128f321639757dba514642c206bbbd99f9a4846208b3e93fbbe5e0527cc59b1d4b929d9555853004c7c8b30ee6a213c3d1bb7415d03"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
38: new java.math.BigInteger
dup
ldc "b892d9ebdbfc37e397256dd8a5d3123534d1f03726284743ddc6be3a709edb696fc40c7d902ed804c6eee730eee3d5b20bf6bd8d87a296813c87d3b3cc9d7947"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
39: new java.math.BigInteger
dup
ldc "1d1a2d3ca8e52068b3094d501c9a842fec37f54db16e9a67070a8b3f53cc03d4257ad252a1a640eadd603724d7bf3737914b544ae332eedf4f34436cac25ceb5"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
40: new java.math.BigInteger
dup
ldc "6c929e4e81672fef49d9c825163fec97c4b7ba7acb26c0824638ac22605d7201c94625770984f78a56e6e25904fe7db407099cad9b14588841b94f5ab498dded"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
41: new java.math.BigInteger
dup
ldc "dae7651ee69ad1d081ec5e7188ae126f6004ff39556bde90e0b870962fa7b926d070686d8244fe5a9aa709a95686a104614834b0ada4b10f53197a5cb4c97339"
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
42: invokespecial java.security.spec.RSAPrivateCrtKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 6
start local 6 43: ldc "RSA"
ldc "BC"
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;
astore 7
start local 7 44: aload 7
aload 6
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
astore 8
start local 8 45: aload 7
aload 5
invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
astore 9
start local 9 46: aload 7
aload 4
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
astore 10
start local 10 47: aload 7
aload 3
invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
astore 11
start local 11 48: aload 7
aload 2
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
astore 12
start local 12 49: aload 7
aload 1
invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
astore 13
start local 13 50: iconst_3
anewarray java.security.cert.Certificate
astore 14
start local 14 51: aload 14
iconst_2
aload 9
aload 8
invokestatic org.bouncycastle.jce.examples.PKCS12Example.createMasterCert:(Ljava/security/PublicKey;Ljava/security/PrivateKey;)Ljava/security/cert/Certificate;
aastore
52: aload 14
iconst_1
aload 11
aload 8
aload 14
iconst_2
aaload
checkcast java.security.cert.X509Certificate
invokestatic org.bouncycastle.jce.examples.PKCS12Example.createIntermediateCert:(Ljava/security/PublicKey;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Ljava/security/cert/Certificate;
aastore
53: aload 14
iconst_0
aload 13
aload 10
aload 11
invokestatic org.bouncycastle.jce.examples.PKCS12Example.createCert:(Ljava/security/PublicKey;Ljava/security/PrivateKey;Ljava/security/PublicKey;)Ljava/security/cert/Certificate;
aastore
54: aload 12
checkcast org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
astore 15
start local 15 55: aload 15
56: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_friendlyName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
57: new org.bouncycastle.asn1.DERBMPString
dup
ldc "Eric's Key"
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:(Ljava/lang/String;)V
58: invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
59: aload 15
60: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9_at_localKeyId:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
61: new org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure
dup
aload 13
invokespecial org.bouncycastle.x509.extension.SubjectKeyIdentifierStructure.<init>:(Ljava/security/PublicKey;)V
62: invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
63: ldc "PKCS12"
ldc "BC"
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
astore 16
start local 16 64: aload 16
aconst_null
aconst_null
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
65: aload 16
ldc "Eric's Key"
aload 12
aconst_null
aload 14
invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
66: new java.io.FileOutputStream
dup
ldc "id.p12"
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 17
start local 17 67: aload 16
aload 17
getstatic org.bouncycastle.jce.examples.PKCS12Example.passwd:[C
invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
68: aload 17
invokevirtual java.io.FileOutputStream.close:()V
69: return
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 70 0 args [Ljava/lang/String;
5 70 1 pubKeySpec Ljava/security/spec/RSAPublicKeySpec;
15 70 2 privKeySpec Ljava/security/spec/RSAPrivateCrtKeySpec;
19 70 3 intPubKeySpec Ljava/security/spec/RSAPublicKeySpec;
29 70 4 intPrivKeySpec Ljava/security/spec/RSAPrivateCrtKeySpec;
33 70 5 caPubKeySpec Ljava/security/spec/RSAPublicKeySpec;
43 70 6 caPrivKeySpec Ljava/security/spec/RSAPrivateCrtKeySpec;
44 70 7 fact Ljava/security/KeyFactory;
45 70 8 caPrivKey Ljava/security/PrivateKey;
46 70 9 caPubKey Ljava/security/PublicKey;
47 70 10 intPrivKey Ljava/security/PrivateKey;
48 70 11 intPubKey Ljava/security/PublicKey;
49 70 12 privKey Ljava/security/PrivateKey;
50 70 13 pubKey Ljava/security/PublicKey;
51 70 14 chain [Ljava/security/cert/Certificate;
55 70 15 bagAttr Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
64 70 16 store Ljava/security/KeyStore;
67 70 17 fOut Ljava/io/FileOutputStream;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "PKCS12Example.java"