public class org.bouncycastle.openssl.MiscPEMGenerator implements org.bouncycastle.util.io.pem.PemObjectGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.openssl.MiscPEMGenerator
  super_class: java.lang.Object
{
  private java.lang.Object obj;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String algorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private char[] password;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private java.security.SecureRandom random;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0002) ACC_PRIVATE

  private java.security.Provider provider;
    descriptor: Ljava/security/Provider;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
        start local 1 // java.lang.Object o
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* o */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.obj:Ljava/lang/Object;
         2: .line 58
            return
        end local 1 // java.lang.Object o
        end local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/openssl/MiscPEMGenerator;
            0    3     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public void <init>(java.lang.Object, java.lang.String, char[], java.security.SecureRandom, java.security.Provider);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[CLjava/security/SecureRandom;Ljava/security/Provider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.String algorithm
        start local 3 // char[] password
        start local 4 // java.security.SecureRandom random
        start local 5 // java.security.Provider provider
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            aload 1 /* obj */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.obj:Ljava/lang/Object;
         2: .line 68
            aload 0 /* this */
            aload 2 /* algorithm */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.algorithm:Ljava/lang/String;
         3: .line 69
            aload 0 /* this */
            aload 3 /* password */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.password:[C
         4: .line 70
            aload 0 /* this */
            aload 4 /* random */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.random:Ljava/security/SecureRandom;
         5: .line 71
            aload 0 /* this */
            aload 5 /* provider */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.provider:Ljava/security/Provider;
         6: .line 72
            return
        end local 5 // java.security.Provider provider
        end local 4 // java.security.SecureRandom random
        end local 3 // char[] password
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Object obj
        end local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/bouncycastle/openssl/MiscPEMGenerator;
            0    7     1        obj  Ljava/lang/Object;
            0    7     2  algorithm  Ljava/lang/String;
            0    7     3   password  [C
            0    7     4     random  Ljava/security/SecureRandom;
            0    7     5   provider  Ljava/security/Provider;
    MethodParameters:
           Name  Flags
      obj        
      algorithm  
      password   
      random     
      provider   

  public void <init>(java.lang.Object, java.lang.String, char[], java.security.SecureRandom, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[CLjava/security/SecureRandom;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.String algorithm
        start local 3 // char[] password
        start local 4 // java.security.SecureRandom random
        start local 5 // java.lang.String provider
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            aload 1 /* obj */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.obj:Ljava/lang/Object;
         2: .line 83
            aload 0 /* this */
            aload 2 /* algorithm */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.algorithm:Ljava/lang/String;
         3: .line 84
            aload 0 /* this */
            aload 3 /* password */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.password:[C
         4: .line 85
            aload 0 /* this */
            aload 4 /* random */
            putfield org.bouncycastle.openssl.MiscPEMGenerator.random:Ljava/security/SecureRandom;
         5: .line 87
            aload 5 /* provider */
            ifnull 9
         6: .line 89
            aload 0 /* this */
            aload 5 /* provider */
            invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
            putfield org.bouncycastle.openssl.MiscPEMGenerator.provider:Ljava/security/Provider;
         7: .line 90
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.provider:Ljava/security/Provider;
            ifnonnull 9
         8: .line 92
            new java.security.NoSuchProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot find provider: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 95
      StackMap locals: org.bouncycastle.openssl.MiscPEMGenerator java.lang.Object java.lang.String char[] java.security.SecureRandom java.lang.String
      StackMap stack:
            return
        end local 5 // java.lang.String provider
        end local 4 // java.security.SecureRandom random
        end local 3 // char[] password
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Object obj
        end local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/bouncycastle/openssl/MiscPEMGenerator;
            0   10     1        obj  Ljava/lang/Object;
            0   10     2  algorithm  Ljava/lang/String;
            0   10     3   password  [C
            0   10     4     random  Ljava/security/SecureRandom;
            0   10     5   provider  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchProviderException
    MethodParameters:
           Name  Flags
      obj        
      algorithm  
      password   
      random     
      provider   

  private org.bouncycastle.util.io.pem.PemObject createPemObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/util/io/pem/PemObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
        start local 1 // java.lang.Object o
         0: .line 103
            aload 1 /* o */
            instanceof org.bouncycastle.util.io.pem.PemObject
            ifeq 2
         1: .line 105
            aload 1 /* o */
            checkcast org.bouncycastle.util.io.pem.PemObject
            areturn
         2: .line 107
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.bouncycastle.util.io.pem.PemObjectGenerator
            ifeq 4
         3: .line 109
            aload 1 /* o */
            checkcast org.bouncycastle.util.io.pem.PemObjectGenerator
            invokeinterface org.bouncycastle.util.io.pem.PemObjectGenerator.generate:()Lorg/bouncycastle/util/io/pem/PemObject;
            areturn
         4: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.cert.X509Certificate
            ifeq 10
         5: .line 113
            ldc "CERTIFICATE"
            astore 2 /* type */
        start local 2 // java.lang.String type
         6: .line 116
            aload 1 /* o */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
         7: .line 117
            goto 62
        end local 3 // byte[] encoding
         8: .line 118
      StackMap locals: org.bouncycastle.openssl.MiscPEMGenerator java.lang.Object java.lang.String
      StackMap stack: java.security.cert.CertificateEncodingException
            astore 4 /* e */
        start local 4 // java.security.cert.CertificateEncodingException e
         9: .line 120
            new org.bouncycastle.util.io.pem.PemGenerationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot encode object: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.security.cert.CertificateEncodingException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bouncycastle.util.io.pem.PemGenerationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.security.cert.CertificateEncodingException e
        end local 2 // java.lang.String type
        10: .line 123
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.cert.X509CRL
            ifeq 16
        11: .line 125
            ldc "X509 CRL"
            astore 2 /* type */
        start local 2 // java.lang.String type
        12: .line 128
            aload 1 /* o */
            checkcast java.security.cert.X509CRL
            invokevirtual java.security.cert.X509CRL.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
        13: .line 129
            goto 62
        end local 3 // byte[] encoding
        14: .line 130
      StackMap locals: org.bouncycastle.openssl.MiscPEMGenerator java.lang.Object java.lang.String
      StackMap stack: java.security.cert.CRLException
            astore 4 /* e */
        start local 4 // java.security.cert.CRLException e
        15: .line 132
            new org.bouncycastle.util.io.pem.PemGenerationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot encode object: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.security.cert.CRLException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bouncycastle.util.io.pem.PemGenerationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.security.cert.CRLException e
        end local 2 // java.lang.String type
        16: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.KeyPair
            ifeq 18
        17: .line 137
            aload 0 /* this */
            aload 1 /* o */
            checkcast java.security.KeyPair
            invokevirtual java.security.KeyPair.getPrivate:()Ljava/security/PrivateKey;
            invokevirtual org.bouncycastle.openssl.MiscPEMGenerator.createPemObject:(Ljava/lang/Object;)Lorg/bouncycastle/util/io/pem/PemObject;
            areturn
        18: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.PrivateKey
            ifeq 45
        19: .line 141
            new org.bouncycastle.asn1.pkcs.PrivateKeyInfo
            dup
        20: .line 142
            aload 1 /* o */
            checkcast java.security.Key
            invokeinterface java.security.Key.getEncoded:()[B
            invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
            checkcast org.bouncycastle.asn1.ASN1Sequence
        21: .line 141
            invokespecial org.bouncycastle.asn1.pkcs.PrivateKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            astore 4 /* info */
        start local 4 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo info
        22: .line 144
            aload 1 /* o */
            instanceof java.security.interfaces.RSAPrivateKey
            ifeq 26
        23: .line 146
            ldc "RSA PRIVATE KEY"
            astore 2 /* type */
        start local 2 // java.lang.String type
        24: .line 148
            aload 4 /* info */
            invokevirtual org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getPrivateKey:()Lorg/bouncycastle/asn1/DERObject;
            invokevirtual org.bouncycastle.asn1.DERObject.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
        25: .line 149
            goto 62
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        26: .line 150
      StackMap locals: org.bouncycastle.openssl.MiscPEMGenerator java.lang.Object top top org.bouncycastle.asn1.pkcs.PrivateKeyInfo
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 40
        27: .line 152
            ldc "DSA PRIVATE KEY"
            astore 2 /* type */
        start local 2 // java.lang.String type
        28: .line 154
            aload 4 /* info */
            invokevirtual org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getAlgorithmId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.x509.DSAParameter.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/DSAParameter;
            astore 5 /* p */
        start local 5 // org.bouncycastle.asn1.x509.DSAParameter p
        29: .line 155
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 6 /* v */
        start local 6 // org.bouncycastle.asn1.ASN1EncodableVector v
        30: .line 157
            aload 6 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            iconst_0
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(I)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        31: .line 158
            aload 6 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 5 /* p */
            invokevirtual org.bouncycastle.asn1.x509.DSAParameter.getP:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        32: .line 159
            aload 6 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 5 /* p */
            invokevirtual org.bouncycastle.asn1.x509.DSAParameter.getQ:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        33: .line 160
            aload 6 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 5 /* p */
            invokevirtual org.bouncycastle.asn1.x509.DSAParameter.getG:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        34: .line 162
            aload 1 /* o */
            checkcast java.security.interfaces.DSAPrivateKey
            invokeinterface java.security.interfaces.DSAPrivateKey.getX:()Ljava/math/BigInteger;
            astore 7 /* x */
        start local 7 // java.math.BigInteger x
        35: .line 163
            aload 5 /* p */
            invokevirtual org.bouncycastle.asn1.x509.DSAParameter.getG:()Ljava/math/BigInteger;
            aload 7 /* x */
            aload 5 /* p */
            invokevirtual org.bouncycastle.asn1.x509.DSAParameter.getP:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.modPow:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 8 /* y */
        start local 8 // java.math.BigInteger y
        36: .line 165
            aload 6 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 8 /* y */
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        37: .line 166
            aload 6 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 7 /* x */
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        38: .line 168
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 6 /* v */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokevirtual org.bouncycastle.asn1.DERSequence.getEncoded:()[B
            astore 3 /* encoding */
        end local 8 // java.math.BigInteger y
        end local 7 // java.math.BigInteger x
        end local 6 // org.bouncycastle.asn1.ASN1EncodableVector v
        end local 5 // org.bouncycastle.asn1.x509.DSAParameter p
        start local 3 // byte[] encoding
        39: .line 169
            goto 62
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        40: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast java.security.PrivateKey
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            ldc "ECDSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
        41: .line 172
            ldc "EC PRIVATE KEY"
            astore 2 /* type */
        start local 2 // java.lang.String type
        42: .line 174
            aload 4 /* info */
            invokevirtual org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getPrivateKey:()Lorg/bouncycastle/asn1/DERObject;
            invokevirtual org.bouncycastle.asn1.DERObject.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
        43: .line 175
            goto 62
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        44: .line 178
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Cannot identify private key"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo info
        45: .line 181
      StackMap locals: org.bouncycastle.openssl.MiscPEMGenerator java.lang.Object
      StackMap stack:
            aload 1 /* o */
            instanceof java.security.PublicKey
            ifeq 49
        46: .line 183
            ldc "PUBLIC KEY"
            astore 2 /* type */
        start local 2 // java.lang.String type
        47: .line 185
            aload 1 /* o */
            checkcast java.security.PublicKey
            invokeinterface java.security.PublicKey.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
        48: .line 186
            goto 62
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        49: .line 187
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.bouncycastle.x509.X509AttributeCertificate
            ifeq 53
        50: .line 189
            ldc "ATTRIBUTE CERTIFICATE"
            astore 2 /* type */
        start local 2 // java.lang.String type
        51: .line 190
            aload 1 /* o */
            checkcast org.bouncycastle.x509.X509V2AttributeCertificate
            invokevirtual org.bouncycastle.x509.X509V2AttributeCertificate.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
        52: .line 191
            goto 62
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        53: .line 192
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.bouncycastle.jce.PKCS10CertificationRequest
            ifeq 57
        54: .line 194
            ldc "CERTIFICATE REQUEST"
            astore 2 /* type */
        start local 2 // java.lang.String type
        55: .line 195
            aload 1 /* o */
            checkcast org.bouncycastle.jce.PKCS10CertificationRequest
            invokevirtual org.bouncycastle.jce.PKCS10CertificationRequest.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
        56: .line 196
            goto 62
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        57: .line 197
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.bouncycastle.asn1.cms.ContentInfo
            ifeq 61
        58: .line 199
            ldc "PKCS7"
            astore 2 /* type */
        start local 2 // java.lang.String type
        59: .line 200
            aload 1 /* o */
            checkcast org.bouncycastle.asn1.cms.ContentInfo
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getEncoded:()[B
            astore 3 /* encoding */
        start local 3 // byte[] encoding
        60: .line 201
            goto 62
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        61: .line 204
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.util.io.pem.PemGenerationException
            dup
            ldc "unknown object passed - can't encode."
            invokespecial org.bouncycastle.util.io.pem.PemGenerationException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // java.lang.String type
        start local 3 // byte[] encoding
        62: .line 207
      StackMap locals: java.lang.String byte[]
      StackMap stack:
            new org.bouncycastle.util.io.pem.PemObject
            dup
            aload 2 /* type */
            aload 3 /* encoding */
            invokespecial org.bouncycastle.util.io.pem.PemObject.<init>:(Ljava/lang/String;[B)V
            areturn
        end local 3 // byte[] encoding
        end local 2 // java.lang.String type
        end local 1 // java.lang.Object o
        end local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   63     0      this  Lorg/bouncycastle/openssl/MiscPEMGenerator;
            0   63     1         o  Ljava/lang/Object;
            6   10     2      type  Ljava/lang/String;
           12   16     2      type  Ljava/lang/String;
           24   26     2      type  Ljava/lang/String;
           28   40     2      type  Ljava/lang/String;
           42   44     2      type  Ljava/lang/String;
           47   49     2      type  Ljava/lang/String;
           51   53     2      type  Ljava/lang/String;
           55   57     2      type  Ljava/lang/String;
           59   61     2      type  Ljava/lang/String;
           62   63     2      type  Ljava/lang/String;
            7    8     3  encoding  [B
           13   14     3  encoding  [B
           25   26     3  encoding  [B
           39   40     3  encoding  [B
           43   44     3  encoding  [B
           48   49     3  encoding  [B
           52   53     3  encoding  [B
           56   57     3  encoding  [B
           60   61     3  encoding  [B
           62   63     3  encoding  [B
            9   10     4         e  Ljava/security/cert/CertificateEncodingException;
           15   16     4         e  Ljava/security/cert/CRLException;
           22   45     4      info  Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;
           29   39     5         p  Lorg/bouncycastle/asn1/x509/DSAParameter;
           30   39     6         v  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           35   39     7         x  Ljava/math/BigInteger;
           36   39     8         y  Ljava/math/BigInteger;
      Exception table:
        from    to  target  type
           6     7       8  Class java.security.cert.CertificateEncodingException
          12    13      14  Class java.security.cert.CRLException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      o     

  private java.lang.String getHexEncoded(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
        start local 1 // byte[] bytes
         0: .line 213
            aload 1 /* bytes */
            invokestatic org.bouncycastle.util.encoders.Hex.encode:([B)[B
            astore 1 /* bytes */
         1: .line 215
            aload 1 /* bytes */
            arraylength
            newarray 5
            astore 2 /* chars */
        start local 2 // char[] chars
         2: .line 217
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 219
      StackMap locals: char[] int
      StackMap stack:
            aload 2 /* chars */
            iload 3 /* i */
            aload 1 /* bytes */
            iload 3 /* i */
            baload
            i2c
            castore
         5: .line 217
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* bytes */
            arraylength
            if_icmpne 4
        end local 3 // int i
         7: .line 222
            new java.lang.String
            dup
            aload 2 /* chars */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // char[] chars
        end local 1 // byte[] bytes
        end local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/bouncycastle/openssl/MiscPEMGenerator;
            0    8     1  bytes  [B
            2    8     2  chars  [C
            3    7     3      i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      bytes  

  private org.bouncycastle.util.io.pem.PemObject createPemObject(java.lang.Object, java.lang.String, char[], java.security.SecureRandom);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[CLjava/security/SecureRandom;)Lorg/bouncycastle/util/io/pem/PemObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=12, args_size=5
        start local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.String algorithm
        start local 3 // char[] password
        start local 4 // java.security.SecureRandom random
         0: .line 232
            aload 1 /* obj */
            instanceof java.security.KeyPair
            ifeq 2
         1: .line 234
            aload 0 /* this */
            aload 1 /* obj */
            checkcast java.security.KeyPair
            invokevirtual java.security.KeyPair.getPrivate:()Ljava/security/PrivateKey;
            aload 2 /* algorithm */
            aload 3 /* password */
            aload 4 /* random */
            invokevirtual org.bouncycastle.openssl.MiscPEMGenerator.createPemObject:(Ljava/lang/Object;Ljava/lang/String;[CLjava/security/SecureRandom;)Lorg/bouncycastle/util/io/pem/PemObject;
            areturn
         2: .line 237
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* type */
        start local 5 // java.lang.String type
         3: .line 238
            aconst_null
            astore 6 /* keyData */
        start local 6 // byte[] keyData
         4: .line 240
            aload 1 /* obj */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifeq 19
         5: .line 242
            ldc "RSA PRIVATE KEY"
            astore 5 /* type */
         6: .line 244
            aload 1 /* obj */
            checkcast java.security.interfaces.RSAPrivateCrtKey
            astore 7 /* k */
        start local 7 // java.security.interfaces.RSAPrivateCrtKey k
         7: .line 246
            new org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure
            dup
         8: .line 247
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
         9: .line 248
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
        10: .line 249
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
        11: .line 250
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
        12: .line 251
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
        13: .line 252
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
        14: .line 253
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
        15: .line 254
            aload 7 /* k */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
        16: .line 246
            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
            astore 8 /* keyStruct */
        start local 8 // org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure keyStruct
        17: .line 257
            aload 8 /* keyStruct */
            invokevirtual org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.getEncoded:()[B
            astore 6 /* keyData */
        end local 8 // org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure keyStruct
        end local 7 // java.security.interfaces.RSAPrivateCrtKey k
        18: .line 258
            goto 38
        19: .line 259
      StackMap locals: java.lang.String byte[]
      StackMap stack:
            aload 1 /* obj */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 34
        20: .line 261
            ldc "DSA PRIVATE KEY"
            astore 5 /* type */
        21: .line 263
            aload 1 /* obj */
            checkcast java.security.interfaces.DSAPrivateKey
            astore 7 /* k */
        start local 7 // java.security.interfaces.DSAPrivateKey k
        22: .line 264
            aload 7 /* k */
            invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
            astore 8 /* p */
        start local 8 // java.security.interfaces.DSAParams p
        23: .line 265
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 9 /* v */
        start local 9 // org.bouncycastle.asn1.ASN1EncodableVector v
        24: .line 267
            aload 9 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            iconst_0
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(I)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        25: .line 268
            aload 9 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 8 /* p */
            invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        26: .line 269
            aload 9 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 8 /* p */
            invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        27: .line 270
            aload 9 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 8 /* p */
            invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        28: .line 272
            aload 7 /* k */
            invokeinterface java.security.interfaces.DSAPrivateKey.getX:()Ljava/math/BigInteger;
            astore 10 /* x */
        start local 10 // java.math.BigInteger x
        29: .line 273
            aload 8 /* p */
            invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
            aload 10 /* x */
            aload 8 /* p */
            invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.modPow:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 11 /* y */
        start local 11 // java.math.BigInteger y
        30: .line 275
            aload 9 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 11 /* y */
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        31: .line 276
            aload 9 /* v */
            new org.bouncycastle.asn1.DERInteger
            dup
            aload 10 /* x */
            invokespecial org.bouncycastle.asn1.DERInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        32: .line 278
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 9 /* v */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokevirtual org.bouncycastle.asn1.DERSequence.getEncoded:()[B
            astore 6 /* keyData */
        end local 11 // java.math.BigInteger y
        end local 10 // java.math.BigInteger x
        end local 9 // org.bouncycastle.asn1.ASN1EncodableVector v
        end local 8 // java.security.interfaces.DSAParams p
        end local 7 // java.security.interfaces.DSAPrivateKey k
        33: .line 279
            goto 38
        34: .line 280
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.security.PrivateKey
            ifeq 38
            ldc "ECDSA"
            aload 1 /* obj */
            checkcast java.security.PrivateKey
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        35: .line 282
            ldc "EC PRIVATE KEY"
            astore 5 /* type */
        36: .line 284
            aload 1 /* obj */
            checkcast java.security.PrivateKey
            invokeinterface java.security.PrivateKey.getEncoded:()[B
            invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
            invokestatic org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;
            astore 7 /* privInfo */
        start local 7 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo privInfo
        37: .line 286
            aload 7 /* privInfo */
            invokevirtual org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getPrivateKey:()Lorg/bouncycastle/asn1/DERObject;
            invokevirtual org.bouncycastle.asn1.DERObject.getEncoded:()[B
            astore 6 /* keyData */
        end local 7 // org.bouncycastle.asn1.pkcs.PrivateKeyInfo privInfo
        38: .line 289
      StackMap locals:
      StackMap stack:
            aload 5 /* type */
            ifnull 39
            aload 6 /* keyData */
            ifnonnull 40
        39: .line 292
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Object type not supported: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 295
      StackMap locals:
      StackMap stack:
            aload 2 /* algorithm */
            invokestatic org.bouncycastle.util.Strings.toUpperCase:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* dekAlgName */
        start local 7 // java.lang.String dekAlgName
        41: .line 298
            aload 7 /* dekAlgName */
            ldc "DESEDE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        42: .line 300
            ldc "DES-EDE3-CBC"
            astore 7 /* dekAlgName */
        43: .line 303
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* dekAlgName */
            ldc "AES-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 44
            bipush 16
            goto 45
      StackMap locals:
      StackMap stack:
        44: bipush 8
      StackMap locals:
      StackMap stack: int
        45: istore 8 /* ivLength */
        start local 8 // int ivLength
        46: .line 305
            iload 8 /* ivLength */
            newarray 8
            astore 9 /* iv */
        start local 9 // byte[] iv
        47: .line 306
            aload 4 /* random */
            aload 9 /* iv */
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
        48: .line 308
            iconst_1
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.provider:Ljava/security/Provider;
            aload 6 /* keyData */
            aload 3 /* password */
            aload 7 /* dekAlgName */
            aload 9 /* iv */
            invokestatic org.bouncycastle.openssl.PEMUtilities.crypt:(ZLjava/security/Provider;[B[CLjava/lang/String;[B)[B
            astore 10 /* encData */
        start local 10 // byte[] encData
        49: .line 310
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 11 /* headers */
        start local 11 // java.util.List headers
        50: .line 312
            aload 11 /* headers */
            new org.bouncycastle.util.io.pem.PemHeader
            dup
            ldc "Proc-Type"
            ldc "4,ENCRYPTED"
            invokespecial org.bouncycastle.util.io.pem.PemHeader.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        51: .line 313
            aload 11 /* headers */
            new org.bouncycastle.util.io.pem.PemHeader
            dup
            ldc "DEK-Info"
            new java.lang.StringBuilder
            dup
            aload 7 /* dekAlgName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 9 /* iv */
            invokevirtual org.bouncycastle.openssl.MiscPEMGenerator.getHexEncoded:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bouncycastle.util.io.pem.PemHeader.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        52: .line 315
            new org.bouncycastle.util.io.pem.PemObject
            dup
            aload 5 /* type */
            aload 11 /* headers */
            aload 10 /* encData */
            invokespecial org.bouncycastle.util.io.pem.PemObject.<init>:(Ljava/lang/String;Ljava/util/List;[B)V
            areturn
        end local 11 // java.util.List headers
        end local 10 // byte[] encData
        end local 9 // byte[] iv
        end local 8 // int ivLength
        end local 7 // java.lang.String dekAlgName
        end local 6 // byte[] keyData
        end local 5 // java.lang.String type
        end local 4 // java.security.SecureRandom random
        end local 3 // char[] password
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Object obj
        end local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   53     0        this  Lorg/bouncycastle/openssl/MiscPEMGenerator;
            0   53     1         obj  Ljava/lang/Object;
            0   53     2   algorithm  Ljava/lang/String;
            0   53     3    password  [C
            0   53     4      random  Ljava/security/SecureRandom;
            3   53     5        type  Ljava/lang/String;
            4   53     6     keyData  [B
            7   18     7           k  Ljava/security/interfaces/RSAPrivateCrtKey;
           17   18     8   keyStruct  Lorg/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure;
           22   33     7           k  Ljava/security/interfaces/DSAPrivateKey;
           23   33     8           p  Ljava/security/interfaces/DSAParams;
           24   33     9           v  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           29   33    10           x  Ljava/math/BigInteger;
           30   33    11           y  Ljava/math/BigInteger;
           37   38     7    privInfo  Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;
           41   53     7  dekAlgName  Ljava/lang/String;
           46   53     8    ivLength  I
           47   53     9          iv  [B
           49   53    10     encData  [B
           50   53    11     headers  Ljava/util/List;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      obj        
      algorithm  
      password   
      random     

  public org.bouncycastle.util.io.pem.PemObject generate();
    descriptor: ()Lorg/bouncycastle/util/io/pem/PemObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
         0: .line 323
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.algorithm:Ljava/lang/String;
            ifnull 3
         1: .line 325
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.obj:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.algorithm:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.password:[C
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.random:Ljava/security/SecureRandom;
            invokevirtual org.bouncycastle.openssl.MiscPEMGenerator.createPemObject:(Ljava/lang/Object;Ljava/lang/String;[CLjava/security/SecureRandom;)Lorg/bouncycastle/util/io/pem/PemObject;
         2: areturn
         3: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.openssl.MiscPEMGenerator.obj:Ljava/lang/Object;
            invokevirtual org.bouncycastle.openssl.MiscPEMGenerator.createPemObject:(Ljava/lang/Object;)Lorg/bouncycastle/util/io/pem/PemObject;
         4: areturn
         5: .line 330
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         6: .line 332
            new org.bouncycastle.util.io.pem.PemGenerationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "encoding exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.bouncycastle.util.io.pem.PemGenerationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // org.bouncycastle.openssl.MiscPEMGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/openssl/MiscPEMGenerator;
            6    7     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       5  Class java.io.IOException
           3     4       5  Class java.io.IOException
    Exceptions:
      throws org.bouncycastle.util.io.pem.PemGenerationException
}
SourceFile: "MiscPEMGenerator.java"