public class org.bouncycastle.jce.provider.JCERSAPublicKey implements java.security.interfaces.RSAPublicKey
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.JCERSAPublicKey
super_class: java.lang.Object
{
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2675817738516720772
private java.math.BigInteger modulus;
descriptor: Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
private java.math.BigInteger publicExponent;
descriptor: Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
void <init>(org.bouncycastle.crypto.params.RSAKeyParameters);
descriptor: (Lorg/bouncycastle/crypto/params/RSAKeyParameters;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual org.bouncycastle.crypto.params.RSAKeyParameters.getModulus:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.modulus:Ljava/math/BigInteger;
2: aload 0
aload 1
invokevirtual org.bouncycastle.crypto.params.RSAKeyParameters.getExponent:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.publicExponent:Ljava/math/BigInteger;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
0 4 1 key Lorg/bouncycastle/crypto/params/RSAKeyParameters;
MethodParameters:
Name Flags
key
void <init>(java.security.spec.RSAPublicKeySpec);
descriptor: (Ljava/security/spec/RSAPublicKeySpec;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual java.security.spec.RSAPublicKeySpec.getModulus:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.modulus:Ljava/math/BigInteger;
2: aload 0
aload 1
invokevirtual java.security.spec.RSAPublicKeySpec.getPublicExponent:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.publicExponent:Ljava/math/BigInteger;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
0 4 1 spec Ljava/security/spec/RSAPublicKeySpec;
MethodParameters:
Name Flags
spec
void <init>(java.security.interfaces.RSAPublicKey);
descriptor: (Ljava/security/interfaces/RSAPublicKey;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.modulus:Ljava/math/BigInteger;
2: aload 0
aload 1
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.publicExponent:Ljava/math/BigInteger;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
0 4 1 key Ljava/security/interfaces/RSAPublicKey;
MethodParameters:
Name Flags
key
void <init>(org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new org.bouncycastle.asn1.x509.RSAPublicKeyStructure
dup
aload 1
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getPublicKey:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.x509.RSAPublicKeyStructure.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.bouncycastle.asn1.x509.RSAPublicKeyStructure.getModulus:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.modulus:Ljava/math/BigInteger;
3: aload 0
aload 2
invokevirtual org.bouncycastle.asn1.x509.RSAPublicKeyStructure.getPublicExponent:()Ljava/math/BigInteger;
putfield org.bouncycastle.jce.provider.JCERSAPublicKey.publicExponent:Ljava/math/BigInteger;
end local 2 4: goto 7
5: StackMap locals: org.bouncycastle.jce.provider.JCERSAPublicKey org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
StackMap stack: java.io.IOException
pop
6: new java.lang.IllegalArgumentException
dup
ldc "invalid info structure in RSA public key"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
0 8 1 info Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
2 4 2 pubKey Lorg/bouncycastle/asn1/x509/RSAPublicKeyStructure;
Exception table:
from to target type
1 4 5 Class java.io.IOException
MethodParameters:
Name Flags
info
public java.math.BigInteger getModulus();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.JCERSAPublicKey.modulus:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
public java.math.BigInteger getPublicExponent();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.JCERSAPublicKey.publicExponent:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
public java.lang.String getAlgorithm();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "RSA"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
public java.lang.String getFormat();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "X.509"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
public byte[] getEncoded();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.rsaEncryption: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
new org.bouncycastle.asn1.x509.RSAPublicKeyStructure
dup
aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getModulus:()Ljava/math/BigInteger;
aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.x509.RSAPublicKeyStructure.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
invokevirtual org.bouncycastle.asn1.x509.RSAPublicKeyStructure.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
astore 1
start local 1 1: aload 1
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getDEREncoded:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
1 2 1 info Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getModulus:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.RSAPublicKey
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.interfaces.RSAPublicKey
astore 2
start local 2 5: aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getModulus:()Ljava/math/BigInteger;
aload 2
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
aload 2
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: java.security.interfaces.RSAPublicKey
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
0 9 1 o Ljava/lang/Object;
5 9 2 key Ljava/security/interfaces/RSAPublicKey;
MethodParameters:
Name Flags
o
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: ldc "line.separator"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aload 1
ldc "RSA Public Key"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
ldc " modulus: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getModulus:()Ljava/math/BigInteger;
bipush 16
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 1
ldc " public exponent: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.JCERSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
bipush 16
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/jce/provider/JCERSAPublicKey;
1 6 1 buf Ljava/lang/StringBuffer;
2 6 2 nl Ljava/lang/String;
}
SourceFile: "JCERSAPublicKey.java"