public class org.bouncycastle.jce.PKCS12Util
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.PKCS12Util
super_class: java.lang.Object
{
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/PKCS12Util;
public static byte[] convertToDefiniteLength(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: new org.bouncycastle.asn1.DEROutputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.DEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 2: new org.bouncycastle.asn1.pkcs.Pfx
dup
aload 0
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
invokespecial org.bouncycastle.asn1.pkcs.Pfx.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 3
start local 3 3: aload 1
invokevirtual java.io.ByteArrayOutputStream.reset:()V
4: aload 2
aload 3
invokevirtual org.bouncycastle.asn1.DEROutputStream.writeObject:(Ljava/lang/Object;)V
5: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 berPKCS12File [B
1 6 1 bOut Ljava/io/ByteArrayOutputStream;
2 6 2 dOut Lorg/bouncycastle/asn1/DEROutputStream;
3 6 3 pfx Lorg/bouncycastle/asn1/pkcs/Pfx;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
berPKCS12File
public static byte[] convertToDefiniteLength(byte[], char[], java.lang.String);
descriptor: ([B[CLjava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: new org.bouncycastle.asn1.pkcs.Pfx
dup
aload 0
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
invokespecial org.bouncycastle.asn1.pkcs.Pfx.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 3
start local 3 1: aload 3
invokevirtual org.bouncycastle.asn1.pkcs.Pfx.getAuthSafe:()Lorg/bouncycastle/asn1/pkcs/ContentInfo;
astore 4
start local 4 2: aload 4
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
astore 5
start local 5 3: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 6
start local 6 4: new org.bouncycastle.asn1.DEROutputStream
dup
aload 6
invokespecial org.bouncycastle.asn1.DEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 7
start local 7 5: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 5
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 8
start local 8 6: aload 8
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
astore 9
start local 9 7: aload 7
aload 9
invokevirtual org.bouncycastle.asn1.DEROutputStream.writeObject:(Ljava/lang/Object;)V
8: new org.bouncycastle.asn1.pkcs.ContentInfo
dup
aload 4
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
new org.bouncycastle.asn1.DEROctetString
dup
aload 6
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.pkcs.ContentInfo.<init>:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
astore 4
9: aload 3
invokevirtual org.bouncycastle.asn1.pkcs.Pfx.getMacData:()Lorg/bouncycastle/asn1/pkcs/MacData;
astore 10
start local 10 10: aload 10
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getIterationCount:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 11
start local 11 11: aload 4
invokevirtual org.bouncycastle.asn1.pkcs.ContentInfo.getContent:()Lorg/bouncycastle/asn1/DEREncodable;
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
astore 12
start local 12 12: aload 10
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getMac:()Lorg/bouncycastle/asn1/x509/DigestInfo;
invokevirtual org.bouncycastle.asn1.x509.DigestInfo.getAlgorithmId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 10
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getSalt:()[B
iload 11
aload 1
aload 12
aload 2
invokestatic org.bouncycastle.jce.PKCS12Util.calculatePbeMac:(Lorg/bouncycastle/asn1/DERObjectIdentifier;[BI[C[BLjava/lang/String;)[B
astore 13
start local 13 13: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 10
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getMac:()Lorg/bouncycastle/asn1/x509/DigestInfo;
invokevirtual org.bouncycastle.asn1.x509.DigestInfo.getAlgorithmId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
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 14
start local 14 14: new org.bouncycastle.asn1.x509.DigestInfo
dup
aload 14
aload 13
invokespecial org.bouncycastle.asn1.x509.DigestInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
astore 15
start local 15 15: new org.bouncycastle.asn1.pkcs.MacData
dup
aload 15
aload 10
invokevirtual org.bouncycastle.asn1.pkcs.MacData.getSalt:()[B
iload 11
invokespecial org.bouncycastle.asn1.pkcs.MacData.<init>:(Lorg/bouncycastle/asn1/x509/DigestInfo;[BI)V
astore 10
end local 15 end local 14 end local 13 end local 12 end local 11 16: goto 19
17: StackMap locals: byte[] char[] java.lang.String org.bouncycastle.asn1.pkcs.Pfx org.bouncycastle.asn1.pkcs.ContentInfo org.bouncycastle.asn1.ASN1OctetString java.io.ByteArrayOutputStream org.bouncycastle.asn1.DEROutputStream org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.DERObject org.bouncycastle.asn1.pkcs.MacData
StackMap stack: java.lang.Exception
astore 11
start local 11 18: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "error constructing MAC: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
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 11 19: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.pkcs.Pfx
dup
aload 4
aload 10
invokespecial org.bouncycastle.asn1.pkcs.Pfx.<init>:(Lorg/bouncycastle/asn1/pkcs/ContentInfo;Lorg/bouncycastle/asn1/pkcs/MacData;)V
astore 3
20: aload 6
invokevirtual java.io.ByteArrayOutputStream.reset:()V
21: aload 7
aload 3
invokevirtual org.bouncycastle.asn1.DEROutputStream.writeObject:(Ljava/lang/Object;)V
22: aload 6
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[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 23 0 berPKCS12File [B
0 23 1 passwd [C
0 23 2 provider Ljava/lang/String;
1 23 3 pfx Lorg/bouncycastle/asn1/pkcs/Pfx;
2 23 4 info Lorg/bouncycastle/asn1/pkcs/ContentInfo;
3 23 5 content Lorg/bouncycastle/asn1/ASN1OctetString;
4 23 6 bOut Ljava/io/ByteArrayOutputStream;
5 23 7 dOut Lorg/bouncycastle/asn1/DEROutputStream;
6 23 8 contentIn Lorg/bouncycastle/asn1/ASN1InputStream;
7 23 9 obj Lorg/bouncycastle/asn1/DERObject;
10 23 10 mData Lorg/bouncycastle/asn1/pkcs/MacData;
11 16 11 itCount I
12 16 12 data [B
13 16 13 res [B
14 16 14 algId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
15 16 15 dInfo Lorg/bouncycastle/asn1/x509/DigestInfo;
18 19 11 e Ljava/lang/Exception;
Exception table:
from to target type
10 16 17 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
berPKCS12File
passwd
provider
private static byte[] calculatePbeMac(org.bouncycastle.asn1.DERObjectIdentifier, byte[], int, char[], byte[], java.lang.String);
descriptor: (Lorg/bouncycastle/asn1/DERObjectIdentifier;[BI[C[BLjava/lang/String;)[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;
aload 5
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)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;
astore 9
start local 9 4: aload 0
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
aload 5
invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/Mac;
astore 10
start local 10 5: aload 10
aload 9
aload 7
invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
6: aload 10
aload 4
invokevirtual javax.crypto.Mac.update:([B)V
7: 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 8 0 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 8 1 salt [B
0 8 2 itCount I
0 8 3 password [C
0 8 4 data [B
0 8 5 provider Ljava/lang/String;
1 8 6 keyFact Ljavax/crypto/SecretKeyFactory;
2 8 7 defParams Ljavax/crypto/spec/PBEParameterSpec;
3 8 8 pbeSpec Ljavax/crypto/spec/PBEKeySpec;
4 8 9 key Ljavax/crypto/SecretKey;
5 8 10 mac Ljavax/crypto/Mac;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
oid
salt
itCount
password
data
provider
}
SourceFile: "PKCS12Util.java"