public class org.bouncycastle.jce.provider.JCERSAPrivateCrtKey extends org.bouncycastle.jce.provider.JCERSAPrivateKey implements java.security.interfaces.RSAPrivateCrtKey
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
  super_class: org.bouncycastle.jce.provider.JCERSAPrivateKey
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7834723820638524718

  private java.math.BigInteger publicExponent;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger primeP;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger primeQ;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger primeExponentP;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger primeExponentQ;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger crtCoefficient;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  void <init>(org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters);
    descriptor: (Lorg/bouncycastle/crypto/params/RSAPrivateCrtKeyParameters;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
        start local 1 // org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters key
         0: .line 39
            aload 0 /* this */
            aload 1 /* key */
            invokespecial org.bouncycastle.jce.provider.JCERSAPrivateKey.<init>:(Lorg/bouncycastle/crypto/params/RSAKeyParameters;)V
         1: .line 41
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters.getPublicExponent:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.publicExponent:Ljava/math/BigInteger;
         2: .line 42
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters.getP:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeP:Ljava/math/BigInteger;
         3: .line 43
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters.getQ:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeQ:Ljava/math/BigInteger;
         4: .line 44
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters.getDP:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentP:Ljava/math/BigInteger;
         5: .line 45
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters.getDQ:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentQ:Ljava/math/BigInteger;
         6: .line 46
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters.getQInv:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.crtCoefficient:Ljava/math/BigInteger;
         7: .line 47
            return
        end local 1 // org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters key
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            0    8     1   key  Lorg/bouncycastle/crypto/params/RSAPrivateCrtKeyParameters;
    MethodParameters:
      Name  Flags
      key   

  void <init>(java.security.spec.RSAPrivateCrtKeySpec);
    descriptor: (Ljava/security/spec/RSAPrivateCrtKeySpec;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
        start local 1 // java.security.spec.RSAPrivateCrtKeySpec spec
         0: .line 54
            aload 0 /* this */
            invokespecial org.bouncycastle.jce.provider.JCERSAPrivateKey.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getModulus:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.modulus:Ljava/math/BigInteger;
         2: .line 58
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPublicExponent:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.publicExponent:Ljava/math/BigInteger;
         3: .line 59
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.privateExponent:Ljava/math/BigInteger;
         4: .line 60
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeP:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeP:Ljava/math/BigInteger;
         5: .line 61
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeQ:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeQ:Ljava/math/BigInteger;
         6: .line 62
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentP:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentP:Ljava/math/BigInteger;
         7: .line 63
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentQ:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentQ:Ljava/math/BigInteger;
         8: .line 64
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getCrtCoefficient:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.crtCoefficient:Ljava/math/BigInteger;
         9: .line 65
            return
        end local 1 // java.security.spec.RSAPrivateCrtKeySpec spec
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            0   10     1  spec  Ljava/security/spec/RSAPrivateCrtKeySpec;
    MethodParameters:
      Name  Flags
      spec  

  void <init>(java.security.interfaces.RSAPrivateCrtKey);
    descriptor: (Ljava/security/interfaces/RSAPrivateCrtKey;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
        start local 1 // java.security.interfaces.RSAPrivateCrtKey key
         0: .line 72
            aload 0 /* this */
            invokespecial org.bouncycastle.jce.provider.JCERSAPrivateKey.<init>:()V
         1: .line 75
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.modulus:Ljava/math/BigInteger;
         2: .line 76
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.publicExponent:Ljava/math/BigInteger;
         3: .line 77
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.privateExponent:Ljava/math/BigInteger;
         4: .line 78
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeP:Ljava/math/BigInteger;
         5: .line 79
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeQ:Ljava/math/BigInteger;
         6: .line 80
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentP:Ljava/math/BigInteger;
         7: .line 81
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentQ:Ljava/math/BigInteger;
         8: .line 82
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.crtCoefficient:Ljava/math/BigInteger;
         9: .line 83
            return
        end local 1 // java.security.interfaces.RSAPrivateCrtKey key
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            0   10     1   key  Ljava/security/interfaces/RSAPrivateCrtKey;
    MethodParameters:
      Name  Flags
      key   

  void <init>(org.bouncycastle.asn1.pkcs.PrivateKeyInfo);
    descriptor: (Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
        start local 1 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo info
         0: .line 91
            aload 0 /* this */
            new org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure
            dup
            aload 1 /* info */
            invokevirtual org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getPrivateKey:()Lorg/bouncycastle/asn1/DERObject;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            invokespecial org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            invokespecial org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.<init>:(Lorg/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure;)V
         1: .line 92
            return
        end local 1 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo info
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            0    2     1  info  Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;
    MethodParameters:
      Name  Flags
      info  

  void <init>(org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure);
    descriptor: (Lorg/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
        start local 1 // org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure key
         0: .line 97
            aload 0 /* this */
            invokespecial org.bouncycastle.jce.provider.JCERSAPrivateKey.<init>:()V
         1: .line 100
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getModulus:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.modulus:Ljava/math/BigInteger;
         2: .line 101
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getPublicExponent:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.publicExponent:Ljava/math/BigInteger;
         3: .line 102
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getPrivateExponent:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.privateExponent:Ljava/math/BigInteger;
         4: .line 103
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getPrime1:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeP:Ljava/math/BigInteger;
         5: .line 104
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getPrime2:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeQ:Ljava/math/BigInteger;
         6: .line 105
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getExponent1:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentP:Ljava/math/BigInteger;
         7: .line 106
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getExponent2:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentQ:Ljava/math/BigInteger;
         8: .line 107
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getCoefficient:()Ljava/math/BigInteger;
            putfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.crtCoefficient:Ljava/math/BigInteger;
         9: .line 108
            return
        end local 1 // org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure key
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            0   10     1   key  Lorg/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.String getFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 117
            ldc "PKCS#8"
            areturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  public byte[] getEncoded();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=2, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 128
            new org.bouncycastle.asn1.pkcs.PrivateKeyInfo
            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.pkcs.RSAPrivateKeyStructure
            dup
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.<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
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            invokespecial org.bouncycastle.asn1.pkcs.PrivateKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/DERObject;)V
            astore 1 /* info */
        start local 1 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo info
         1: .line 130
            aload 1 /* info */
            invokevirtual org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getDEREncoded:()[B
            areturn
        end local 1 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo info
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            1    2     1  info  Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;

  public java.math.BigInteger getPublicExponent();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 140
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.publicExponent:Ljava/math/BigInteger;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  public java.math.BigInteger getPrimeP();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 150
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeP:Ljava/math/BigInteger;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  public java.math.BigInteger getPrimeQ();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 160
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeQ:Ljava/math/BigInteger;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  public java.math.BigInteger getPrimeExponentP();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 170
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentP:Ljava/math/BigInteger;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  public java.math.BigInteger getPrimeExponentQ();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 180
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.primeExponentQ:Ljava/math/BigInteger;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  public java.math.BigInteger getCrtCoefficient();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 190
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.crtCoefficient:Ljava/math/BigInteger;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 195
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.hashCode:()I
         1: .line 196
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.hashCode:()I
         2: .line 195
            ixor
         3: .line 197
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.hashCode:()I
         4: .line 195
            ixor
            ireturn
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;

  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 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
        start local 1 // java.lang.Object o
         0: .line 202
            aload 1 /* o */
            aload 0 /* this */
            if_acmpne 2
         1: .line 204
            iconst_1
            ireturn
         2: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifne 4
         3: .line 209
            iconst_0
            ireturn
         4: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast java.security.interfaces.RSAPrivateCrtKey
            astore 2 /* key */
        start local 2 // java.security.interfaces.RSAPrivateCrtKey key
         5: .line 214
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
         6: .line 215
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
         7: .line 216
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
         8: .line 217
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
         9: .line 218
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
        10: .line 219
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 220
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 221
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
            aload 2 /* key */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 214
            iconst_1
            ireturn
      StackMap locals: java.security.interfaces.RSAPrivateCrtKey
      StackMap stack:
        14: iconst_0
            ireturn
        end local 2 // java.security.interfaces.RSAPrivateCrtKey key
        end local 1 // java.lang.Object o
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            0   15     1     o  Ljava/lang/Object;
            5   15     2   key  Ljava/security/interfaces/RSAPrivateCrtKey;
    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 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
         0: .line 226
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 227
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* nl */
        start local 2 // java.lang.String nl
         2: .line 229
            aload 1 /* buf */
            ldc "RSA Private CRT Key"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 2 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 230
            aload 1 /* buf */
            ldc "            modulus: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 231
            aload 1 /* buf */
            ldc "    public exponent: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 232
            aload 1 /* buf */
            ldc "   private exponent: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrivateExponent:()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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 233
            aload 1 /* buf */
            ldc "             primeP: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeP:()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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 234
            aload 1 /* buf */
            ldc "             primeQ: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeQ:()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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 235
            aload 1 /* buf */
            ldc "     primeExponentP: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeExponentP:()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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 236
            aload 1 /* buf */
            ldc "     primeExponentQ: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getPrimeExponentQ:()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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 237
            aload 1 /* buf */
            ldc "     crtCoefficient: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.getCrtCoefficient:()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 /* nl */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 239
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String nl
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.bouncycastle.jce.provider.JCERSAPrivateCrtKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/bouncycastle/jce/provider/JCERSAPrivateCrtKey;
            1   12     1   buf  Ljava/lang/StringBuffer;
            2   12     2    nl  Ljava/lang/String;
}
SourceFile: "JCERSAPrivateCrtKey.java"