public class org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder
super_class: java.lang.Object
{
private static final java.util.Hashtable sigNames;
descriptor: Ljava/util/Hashtable;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.bouncycastle.eac.operator.jcajce.EACHelper helper;
descriptor: Lorg/bouncycastle/eac/operator/jcajce/EACHelper;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
1: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA1withRSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA256withRSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA1withRSAandMGF1"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_RSA_PSS_SHA_1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA256withRSAandMGF1"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_RSA_PSS_SHA_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA512withRSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA512withRSAandMGF1"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_RSA_PSS_SHA_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA1withECDSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_ECDSA_SHA_1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA224withECDSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_ECDSA_SHA_224:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA256withECDSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_ECDSA_SHA_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA384withECDSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_ECDSA_SHA_384:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
ldc "SHA512withECDSA"
getstatic org.bouncycastle.asn1.eac.EACObjectIdentifiers.id_TA_ECDSA_SHA_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.bouncycastle.eac.operator.jcajce.DefaultEACHelper
dup
invokespecial org.bouncycastle.eac.operator.jcajce.DefaultEACHelper.<init>:()V
putfield org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.helper:Lorg/bouncycastle/eac/operator/jcajce/EACHelper;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;
public org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder setProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.eac.operator.jcajce.NamedEACHelper
dup
aload 1
invokespecial org.bouncycastle.eac.operator.jcajce.NamedEACHelper.<init>:(Ljava/lang/String;)V
putfield org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.helper:Lorg/bouncycastle/eac/operator/jcajce/EACHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;
0 2 1 providerName Ljava/lang/String;
MethodParameters:
Name Flags
providerName
public org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder setProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.eac.operator.jcajce.ProviderEACHelper
dup
aload 1
invokespecial org.bouncycastle.eac.operator.jcajce.ProviderEACHelper.<init>:(Ljava/security/Provider;)V
putfield org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.helper:Lorg/bouncycastle/eac/operator/jcajce/EACHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;
0 2 1 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
public org.bouncycastle.eac.operator.EACSigner build(java.lang.String, java.security.PrivateKey);
descriptor: (Ljava/lang/String;Ljava/security/PrivateKey;)Lorg/bouncycastle/eac/operator/EACSigner;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.sigNames:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
aload 2
invokevirtual org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.build:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/security/PrivateKey;)Lorg/bouncycastle/eac/operator/EACSigner;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;
0 1 1 algorithm Ljava/lang/String;
0 1 2 privKey Ljava/security/PrivateKey;
Exceptions:
throws org.bouncycastle.operator.OperatorCreationException
MethodParameters:
Name Flags
algorithm
privKey
public org.bouncycastle.eac.operator.EACSigner build(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.security.PrivateKey);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/security/PrivateKey;)Lorg/bouncycastle/eac/operator/EACSigner;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.helper:Lorg/bouncycastle/eac/operator/jcajce/EACHelper;
aload 1
invokevirtual org.bouncycastle.eac.operator.jcajce.EACHelper.getSignature:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljava/security/Signature;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
2: goto 9
end local 3 3: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 4
start local 4 4: new org.bouncycastle.operator.OperatorCreationException
dup
new java.lang.StringBuilder
dup
ldc "unable to find algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.security.NoSuchAlgorithmException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 5: StackMap locals:
StackMap stack: java.security.NoSuchProviderException
astore 4
start local 4 6: new org.bouncycastle.operator.OperatorCreationException
dup
new java.lang.StringBuilder
dup
ldc "unable to find provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.security.NoSuchProviderException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack: java.security.InvalidKeyException
astore 4
start local 4 8: new org.bouncycastle.operator.OperatorCreationException
dup
new java.lang.StringBuilder
dup
ldc "invalid key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.security.InvalidKeyException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 9: StackMap locals: java.security.Signature
StackMap stack:
new org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$SignatureOutputStream
dup
aload 0
aload 3
invokespecial org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$SignatureOutputStream.<init>:(Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;Ljava/security/Signature;)V
astore 4
start local 4 10: new org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$1
dup
aload 0
aload 1
aload 4
invokespecial org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$1.<init>:(Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder$SignatureOutputStream;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder;
0 11 1 usageOid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 11 2 privKey Ljava/security/PrivateKey;
1 3 3 sig Ljava/security/Signature;
9 11 3 sig Ljava/security/Signature;
4 5 4 e Ljava/security/NoSuchAlgorithmException;
6 7 4 e Ljava/security/NoSuchProviderException;
8 9 4 e Ljava/security/InvalidKeyException;
10 11 4 sigStream Lorg/bouncycastle/eac/operator/jcajce/JcaEACSignerBuilder$SignatureOutputStream;
Exception table:
from to target type
0 2 3 Class java.security.NoSuchAlgorithmException
0 2 5 Class java.security.NoSuchProviderException
0 2 7 Class java.security.InvalidKeyException
Exceptions:
throws org.bouncycastle.operator.OperatorCreationException
MethodParameters:
Name Flags
usageOid final
privKey
public static int max(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
if_icmple 1
iload 0
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 el1 I
0 3 1 el2 I
MethodParameters:
Name Flags
el1
el2
private static byte[] reencode(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
astore 1
start local 1 1: aload 1
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
astore 2
start local 2 2: aload 1
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
astore 3
start local 3 3: aload 2
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 4
start local 4 4: aload 3
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 5
start local 5 5: aload 4
invokestatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.unsignedIntLength:([B)I
istore 6
start local 6 6: aload 5
invokestatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.unsignedIntLength:([B)I
istore 7
start local 7 7: iload 6
iload 7
invokestatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.max:(II)I
istore 9
start local 9 8: iload 9
iconst_2
imul
newarray 8
astore 8
start local 8 9: aload 8
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
10: aload 4
aload 8
iload 9
iload 6
isub
invokestatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.copyUnsignedInt:([B[BI)V
11: aload 5
aload 8
iconst_2
iload 9
imul
iload 7
isub
invokestatic org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder.copyUnsignedInt:([B[BI)V
12: aload 8
areturn
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 13 0 rawSign [B
1 13 1 sData Lorg/bouncycastle/asn1/ASN1Sequence;
2 13 2 r Ljava/math/BigInteger;
3 13 3 s Ljava/math/BigInteger;
4 13 4 rB [B
5 13 5 sB [B
6 13 6 rLen I
7 13 7 sLen I
9 13 8 ret [B
8 13 9 len I
MethodParameters:
Name Flags
rawSign
private static int unsignedIntLength(byte[]);
descriptor: ([B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: aload 0
iconst_0
baload
ifne 3
2: iinc 1 -1
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 i [B
1 4 1 len I
MethodParameters:
Name Flags
i
private static void copyUnsignedInt(byte[], byte[], int);
descriptor: ([B[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 0
iconst_0
baload
ifne 5
3: iinc 3 -1
4: iconst_1
istore 4
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
aload 1
iload 2
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 src [B
0 7 1 dst [B
0 7 2 offset I
1 7 3 len I
2 7 4 readoffset I
MethodParameters:
Name Flags
src
dst
offset
}
SourceFile: "JcaEACSignerBuilder.java"
NestMembers:
org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$1 org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$SignatureOutputStream
InnerClasses:
org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$1
private SignatureOutputStream = org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder$SignatureOutputStream of org.bouncycastle.eac.operator.jcajce.JcaEACSignerBuilder