public class org.bouncycastle.jce.netscape.NetscapeCertRequest extends org.bouncycastle.asn1.ASN1Encodable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.jce.netscape.NetscapeCertRequest
  super_class: org.bouncycastle.asn1.ASN1Encodable
{
  org.bouncycastle.asn1.x509.AlgorithmIdentifier sigAlg;
    descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0000) 

  org.bouncycastle.asn1.x509.AlgorithmIdentifier keyAlg;
    descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0000) 

  byte[] sigBits;
    descriptor: [B
    flags: (0x0000) 

  java.lang.String challenge;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  org.bouncycastle.asn1.DERBitString content;
    descriptor: Lorg/bouncycastle/asn1/DERBitString;
    flags: (0x0000) 

  java.security.PublicKey pubkey;
    descriptor: Ljava/security/PublicKey;
    flags: (0x0000) 

  private static org.bouncycastle.asn1.ASN1Sequence getReq(byte[]);
    descriptor: ([B)Lorg/bouncycastle/asn1/ASN1Sequence;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // byte[] r
         0: .line 58
            new org.bouncycastle.asn1.ASN1InputStream
            dup
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* r */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;)V
            astore 1 /* aIn */
        start local 1 // org.bouncycastle.asn1.ASN1InputStream aIn
         1: .line 60
            aload 1 /* aIn */
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            areturn
        end local 1 // org.bouncycastle.asn1.ASN1InputStream aIn
        end local 0 // byte[] r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     r  [B
            1    2     1   aIn  Lorg/bouncycastle/asn1/ASN1InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      r     

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // byte[] req
         0: .line 67
            aload 0 /* this */
            aload 1 /* req */
            invokestatic org.bouncycastle.jce.netscape.NetscapeCertRequest.getReq:([B)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokespecial org.bouncycastle.jce.netscape.NetscapeCertRequest.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
         1: .line 68
            return
        end local 1 // byte[] req
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    2     1   req  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      req   

  public void <init>(org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // org.bouncycastle.asn1.ASN1Sequence spkac
         0: .line 70
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Encodable.<init>:()V
         1: .line 82
            aload 1 /* spkac */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            iconst_3
            if_icmpeq 5
         2: .line 84
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid SPKAC (size):"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 85
            aload 1 /* spkac */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 84
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 88
      StackMap locals: org.bouncycastle.jce.netscape.NetscapeCertRequest org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.asn1.x509.AlgorithmIdentifier
            dup
            aload 1 /* spkac */
         6: .line 89
            iconst_1
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
         7: .line 88
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
         8: .line 90
            aload 0 /* this */
            aload 1 /* spkac */
            iconst_2
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.DERBitString
            invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigBits:[B
         9: .line 98
            aload 1 /* spkac */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 2 /* pkac */
        start local 2 // org.bouncycastle.asn1.ASN1Sequence pkac
        10: .line 100
            aload 2 /* pkac */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            iconst_2
            if_icmpeq 14
        11: .line 102
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid PKAC (len): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 103
            aload 2 /* pkac */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 102
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 106
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aload 0 /* this */
            aload 2 /* pkac */
            iconst_1
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.DERIA5String
            invokevirtual org.bouncycastle.asn1.DERIA5String.getString:()Ljava/lang/String;
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.challenge:Ljava/lang/String;
        15: .line 110
            aload 0 /* this */
            new org.bouncycastle.asn1.DERBitString
            dup
            aload 2 /* pkac */
            invokespecial org.bouncycastle.asn1.DERBitString.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.content:Lorg/bouncycastle/asn1/DERBitString;
        16: .line 112
            new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
            dup
        17: .line 113
            aload 2 /* pkac */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.ASN1Sequence
        18: .line 112
            invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            astore 3 /* pubkeyinfo */
        start local 3 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo pubkeyinfo
        19: .line 115
            new java.security.spec.X509EncodedKeySpec
            dup
            new org.bouncycastle.asn1.DERBitString
            dup
        20: .line 116
            aload 3 /* pubkeyinfo */
            invokespecial org.bouncycastle.asn1.DERBitString.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
            invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
        21: .line 115
            invokespecial java.security.spec.X509EncodedKeySpec.<init>:([B)V
            astore 4 /* xspec */
        start local 4 // java.security.spec.X509EncodedKeySpec xspec
        22: .line 118
            aload 0 /* this */
            aload 3 /* pubkeyinfo */
            invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithmId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.keyAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
        23: .line 119
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.keyAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            ldc "BC"
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;
        24: .line 120
            aload 4 /* xspec */
            invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
        25: .line 119
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.pubkey:Ljava/security/PublicKey;
        end local 4 // java.security.spec.X509EncodedKeySpec xspec
        end local 3 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo pubkeyinfo
        end local 2 // org.bouncycastle.asn1.ASN1Sequence pkac
        26: .line 122
            goto 29
        27: .line 123
      StackMap locals: org.bouncycastle.jce.netscape.NetscapeCertRequest org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        28: .line 125
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Exception e
        29: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.bouncycastle.asn1.ASN1Sequence spkac
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0   30     1       spkac  Lorg/bouncycastle/asn1/ASN1Sequence;
           10   26     2        pkac  Lorg/bouncycastle/asn1/ASN1Sequence;
           19   26     3  pubkeyinfo  Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
           22   26     4       xspec  Ljava/security/spec/X509EncodedKeySpec;
           28   29     2           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    26      27  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      spkac  

  public void <init>(java.lang.String, org.bouncycastle.asn1.x509.AlgorithmIdentifier, java.security.PublicKey);
    descriptor: (Ljava/lang/String;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljava/security/PublicKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // java.lang.String challenge
        start local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier signing_alg
        start local 3 // java.security.PublicKey pub_key
         0: .line 129
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Encodable.<init>:()V
         1: .line 136
            aload 0 /* this */
            aload 1 /* challenge */
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.challenge:Ljava/lang/String;
         2: .line 137
            aload 0 /* this */
            aload 2 /* signing_alg */
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
         3: .line 138
            aload 0 /* this */
            aload 3 /* pub_key */
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.pubkey:Ljava/security/PublicKey;
         4: .line 140
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 4 /* content_der */
        start local 4 // org.bouncycastle.asn1.ASN1EncodableVector content_der
         5: .line 141
            aload 4 /* content_der */
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.netscape.NetscapeCertRequest.getKeySpec:()Lorg/bouncycastle/asn1/DERObject;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         6: .line 143
            aload 4 /* content_der */
            new org.bouncycastle.asn1.DERIA5String
            dup
            aload 1 /* challenge */
            invokespecial org.bouncycastle.asn1.DERIA5String.<init>:(Ljava/lang/String;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         7: .line 145
            aload 0 /* this */
            new org.bouncycastle.asn1.DERBitString
            dup
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 4 /* content_der */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokespecial org.bouncycastle.asn1.DERBitString.<init>:(Lorg/bouncycastle/asn1/DEREncodable;)V
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.content:Lorg/bouncycastle/asn1/DERBitString;
         8: .line 146
            return
        end local 4 // org.bouncycastle.asn1.ASN1EncodableVector content_der
        end local 3 // java.security.PublicKey pub_key
        end local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier signing_alg
        end local 1 // java.lang.String challenge
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    9     1    challenge  Ljava/lang/String;
            0    9     2  signing_alg  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            0    9     3      pub_key  Ljava/security/PublicKey;
            5    9     4  content_der  Lorg/bouncycastle/asn1/ASN1EncodableVector;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.NoSuchProviderException
    MethodParameters:
             Name  Flags
      challenge    
      signing_alg  
      pub_key      

  public java.lang.String getChallenge();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
         0: .line 150
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.challenge:Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;

  public void setChallenge(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // java.lang.String value
         0: .line 155
            aload 0 /* this */
            aload 1 /* value */
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.challenge:Ljava/lang/String;
         1: .line 156
            return
        end local 1 // java.lang.String value
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public org.bouncycastle.asn1.x509.AlgorithmIdentifier getSigningAlgorithm();
    descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
         0: .line 160
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            areturn
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;

  public void setSigningAlgorithm(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier value
         0: .line 165
            aload 0 /* this */
            aload 1 /* value */
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
         1: .line 166
            return
        end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier value
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    2     1  value  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    MethodParameters:
       Name  Flags
      value  

  public org.bouncycastle.asn1.x509.AlgorithmIdentifier getKeyAlgorithm();
    descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
         0: .line 170
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.keyAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            areturn
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;

  public void setKeyAlgorithm(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier value
         0: .line 175
            aload 0 /* this */
            aload 1 /* value */
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.keyAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
         1: .line 176
            return
        end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier value
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    2     1  value  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    MethodParameters:
       Name  Flags
      value  

  public java.security.PublicKey getPublicKey();
    descriptor: ()Ljava/security/PublicKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
         0: .line 180
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.pubkey:Ljava/security/PublicKey;
            areturn
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;

  public void setPublicKey(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // java.security.PublicKey value
         0: .line 185
            aload 0 /* this */
            aload 1 /* value */
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.pubkey:Ljava/security/PublicKey;
         1: .line 186
            return
        end local 1 // java.security.PublicKey value
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    2     1  value  Ljava/security/PublicKey;
    MethodParameters:
       Name  Flags
      value  

  public boolean verify(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // java.lang.String challenge
         0: .line 191
            aload 1 /* challenge */
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.challenge:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 193
            iconst_0
            ireturn
         2: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
         3: .line 201
            ldc "BC"
         4: .line 200
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
            astore 2 /* sig */
        start local 2 // java.security.Signature sig
         5: .line 202
            aload 2 /* sig */
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.pubkey:Ljava/security/PublicKey;
            invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
         6: .line 203
            aload 2 /* sig */
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.content:Lorg/bouncycastle/asn1/DERBitString;
            invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
            invokevirtual java.security.Signature.update:([B)V
         7: .line 205
            aload 2 /* sig */
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigBits:[B
            invokevirtual java.security.Signature.verify:([B)Z
            ireturn
        end local 2 // java.security.Signature sig
        end local 1 // java.lang.String challenge
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    8     1  challenge  Ljava/lang/String;
            5    8     2        sig  Ljava/security/Signature;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException, java.security.NoSuchProviderException
    MethodParameters:
           Name  Flags
      challenge  

  public void sign(java.security.PrivateKey);
    descriptor: (Ljava/security/PrivateKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // java.security.PrivateKey priv_key
         0: .line 212
            aload 0 /* this */
            aload 1 /* priv_key */
            aconst_null
            invokevirtual org.bouncycastle.jce.netscape.NetscapeCertRequest.sign:(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
         1: .line 213
            return
        end local 1 // java.security.PrivateKey priv_key
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0    2     1  priv_key  Ljava/security/PrivateKey;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException, java.security.NoSuchProviderException, java.security.spec.InvalidKeySpecException
    MethodParameters:
          Name  Flags
      priv_key  

  public void sign(java.security.PrivateKey, java.security.SecureRandom);
    descriptor: (Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
        start local 1 // java.security.PrivateKey priv_key
        start local 2 // java.security.SecureRandom rand
         0: .line 220
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
         1: .line 221
            ldc "BC"
         2: .line 220
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sig */
        start local 3 // java.security.Signature sig
         3: .line 223
            aload 2 /* rand */
            ifnull 6
         4: .line 225
            aload 3 /* sig */
            aload 1 /* priv_key */
            aload 2 /* rand */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
         5: .line 226
            goto 7
         6: .line 229
      StackMap locals: java.security.Signature
      StackMap stack:
            aload 3 /* sig */
            aload 1 /* priv_key */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
         7: .line 232
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 4 /* pkac */
        start local 4 // org.bouncycastle.asn1.ASN1EncodableVector pkac
         8: .line 234
            aload 4 /* pkac */
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.netscape.NetscapeCertRequest.getKeySpec:()Lorg/bouncycastle/asn1/DERObject;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         9: .line 235
            aload 4 /* pkac */
            new org.bouncycastle.asn1.DERIA5String
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.challenge:Ljava/lang/String;
            invokespecial org.bouncycastle.asn1.DERIA5String.<init>:(Ljava/lang/String;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        10: .line 239
            aload 3 /* sig */
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 4 /* pkac */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            ldc "DER"
            invokevirtual org.bouncycastle.asn1.DERSequence.getEncoded:(Ljava/lang/String;)[B
            invokevirtual java.security.Signature.update:([B)V
        11: .line 240
            goto 14
        12: .line 241
      StackMap locals: org.bouncycastle.jce.netscape.NetscapeCertRequest java.security.PrivateKey java.security.SecureRandom java.security.Signature org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack: java.io.IOException
            astore 5 /* ioe */
        start local 5 // java.io.IOException ioe
        13: .line 243
            new java.security.SignatureException
            dup
            aload 5 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.IOException ioe
        14: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* sig */
            invokevirtual java.security.Signature.sign:()[B
            putfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigBits:[B
        15: .line 247
            return
        end local 4 // org.bouncycastle.asn1.ASN1EncodableVector pkac
        end local 3 // java.security.Signature sig
        end local 2 // java.security.SecureRandom rand
        end local 1 // java.security.PrivateKey priv_key
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            0   16     1  priv_key  Ljava/security/PrivateKey;
            0   16     2      rand  Ljava/security/SecureRandom;
            3   16     3       sig  Ljava/security/Signature;
            8   16     4      pkac  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           13   14     5       ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          10    11      12  Class java.io.IOException
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException, java.security.NoSuchProviderException, java.security.spec.InvalidKeySpecException
    MethodParameters:
          Name  Flags
      priv_key  
      rand      

  private org.bouncycastle.asn1.DERObject getKeySpec();
    descriptor: ()Lorg/bouncycastle/asn1/DERObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
         0: .line 252
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* baos */
        start local 1 // java.io.ByteArrayOutputStream baos
         1: .line 254
            aconst_null
            astore 2 /* obj */
        start local 2 // org.bouncycastle.asn1.DERObject obj
         2: .line 258
            aload 1 /* baos */
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.pubkey:Ljava/security/PublicKey;
            invokeinterface java.security.PublicKey.getEncoded:()[B
            invokevirtual java.io.ByteArrayOutputStream.write:([B)V
         3: .line 259
            aload 1 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.close:()V
         4: .line 261
            new org.bouncycastle.asn1.ASN1InputStream
            dup
         5: .line 262
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         6: .line 261
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* derin */
        start local 3 // org.bouncycastle.asn1.ASN1InputStream derin
         7: .line 264
            aload 3 /* derin */
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
            astore 2 /* obj */
        end local 3 // org.bouncycastle.asn1.ASN1InputStream derin
         8: .line 265
            goto 11
         9: .line 266
      StackMap locals: org.bouncycastle.jce.netscape.NetscapeCertRequest java.io.ByteArrayOutputStream org.bouncycastle.asn1.DERObject
      StackMap stack: java.io.IOException
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        10: .line 268
            new java.security.spec.InvalidKeySpecException
            dup
            aload 3 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.io.IOException ioe
        11: .line 270
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            areturn
        end local 2 // org.bouncycastle.asn1.DERObject obj
        end local 1 // java.io.ByteArrayOutputStream baos
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            1   12     1   baos  Ljava/io/ByteArrayOutputStream;
            2   12     2    obj  Lorg/bouncycastle/asn1/DERObject;
            7    8     3  derin  Lorg/bouncycastle/asn1/ASN1InputStream;
           10   11     3    ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     8       9  Class java.io.IOException
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.NoSuchProviderException

  public org.bouncycastle.asn1.DERObject toASN1Object();
    descriptor: ()Lorg/bouncycastle/asn1/DERObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
         0: .line 275
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 1 /* spkac */
        start local 1 // org.bouncycastle.asn1.ASN1EncodableVector spkac
         1: .line 276
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 2 /* pkac */
        start local 2 // org.bouncycastle.asn1.ASN1EncodableVector pkac
         2: .line 280
            aload 2 /* pkac */
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.netscape.NetscapeCertRequest.getKeySpec:()Lorg/bouncycastle/asn1/DERObject;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         3: .line 281
            goto 5
         4: .line 282
      StackMap locals: org.bouncycastle.jce.netscape.NetscapeCertRequest org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack: java.lang.Exception
            pop
         5: .line 287
      StackMap locals:
      StackMap stack:
            aload 2 /* pkac */
            new org.bouncycastle.asn1.DERIA5String
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.challenge:Ljava/lang/String;
            invokespecial org.bouncycastle.asn1.DERIA5String.<init>:(Ljava/lang/String;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         6: .line 289
            aload 1 /* spkac */
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 2 /* pkac */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         7: .line 290
            aload 1 /* spkac */
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         8: .line 291
            aload 1 /* spkac */
            new org.bouncycastle.asn1.DERBitString
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.netscape.NetscapeCertRequest.sigBits:[B
            invokespecial org.bouncycastle.asn1.DERBitString.<init>:([B)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
         9: .line 293
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 1 /* spkac */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1EncodableVector pkac
        end local 1 // org.bouncycastle.asn1.ASN1EncodableVector spkac
        end local 0 // org.bouncycastle.jce.netscape.NetscapeCertRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/bouncycastle/jce/netscape/NetscapeCertRequest;
            1   10     1  spkac  Lorg/bouncycastle/asn1/ASN1EncodableVector;
            2   10     2   pkac  Lorg/bouncycastle/asn1/ASN1EncodableVector;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
}
SourceFile: "NetscapeCertRequest.java"