public class org.bouncycastle.openssl.PEMParser extends org.bouncycastle.util.io.pem.PemReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.openssl.PEMParser
super_class: org.bouncycastle.util.io.pem.PemReader
{
private final java.util.Map parsers;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.io.Reader);
descriptor: (Ljava/io/Reader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 // org.bouncycastle.openssl.PEMParser this
start local 1 // java.io.Reader reader
0: .line 61
aload 0 /* this */
aload 1 /* reader */
invokespecial org.bouncycastle.util.io.pem.PemReader.<init>:(Ljava/io/Reader;)V
1: .line 51
aload 0 /* this */
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
2: .line 63
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "CERTIFICATE REQUEST"
new org.bouncycastle.openssl.PEMParser$PKCS10CertificationRequestParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$PKCS10CertificationRequestParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: .line 64
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "NEW CERTIFICATE REQUEST"
new org.bouncycastle.openssl.PEMParser$PKCS10CertificationRequestParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$PKCS10CertificationRequestParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: .line 65
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "CERTIFICATE"
new org.bouncycastle.openssl.PEMParser$X509CertificateParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$X509CertificateParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: .line 66
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "TRUSTED CERTIFICATE"
new org.bouncycastle.openssl.PEMParser$X509TrustedCertificateParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$X509TrustedCertificateParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: .line 67
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "X509 CERTIFICATE"
new org.bouncycastle.openssl.PEMParser$X509CertificateParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$X509CertificateParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: .line 68
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "X509 CRL"
new org.bouncycastle.openssl.PEMParser$X509CRLParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$X509CRLParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: .line 69
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "PKCS7"
new org.bouncycastle.openssl.PEMParser$PKCS7Parser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$PKCS7Parser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: .line 70
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "CMS"
new org.bouncycastle.openssl.PEMParser$PKCS7Parser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$PKCS7Parser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: .line 71
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "ATTRIBUTE CERTIFICATE"
new org.bouncycastle.openssl.PEMParser$X509AttributeCertificateParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$X509AttributeCertificateParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: .line 72
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "EC PARAMETERS"
new org.bouncycastle.openssl.PEMParser$ECCurveParamsParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$ECCurveParamsParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: .line 73
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "PUBLIC KEY"
new org.bouncycastle.openssl.PEMParser$PublicKeyParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$PublicKeyParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: .line 74
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "RSA PUBLIC KEY"
new org.bouncycastle.openssl.PEMParser$RSAPublicKeyParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$RSAPublicKeyParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: .line 75
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "RSA PRIVATE KEY"
new org.bouncycastle.openssl.PEMParser$KeyPairParser
dup
aload 0 /* this */
new org.bouncycastle.openssl.PEMParser$RSAKeyPairParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$RSAKeyPairParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokespecial org.bouncycastle.openssl.PEMParser$KeyPairParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;Lorg/bouncycastle/openssl/PEMKeyPairParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: .line 76
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "DSA PRIVATE KEY"
new org.bouncycastle.openssl.PEMParser$KeyPairParser
dup
aload 0 /* this */
new org.bouncycastle.openssl.PEMParser$DSAKeyPairParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$DSAKeyPairParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokespecial org.bouncycastle.openssl.PEMParser$KeyPairParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;Lorg/bouncycastle/openssl/PEMKeyPairParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: .line 77
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "EC PRIVATE KEY"
new org.bouncycastle.openssl.PEMParser$KeyPairParser
dup
aload 0 /* this */
new org.bouncycastle.openssl.PEMParser$ECDSAKeyPairParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$ECDSAKeyPairParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokespecial org.bouncycastle.openssl.PEMParser$KeyPairParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;Lorg/bouncycastle/openssl/PEMKeyPairParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: .line 78
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "ENCRYPTED PRIVATE KEY"
new org.bouncycastle.openssl.PEMParser$EncryptedPrivateKeyParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$EncryptedPrivateKeyParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: .line 79
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
ldc "PRIVATE KEY"
new org.bouncycastle.openssl.PEMParser$PrivateKeyParser
dup
aload 0 /* this */
invokespecial org.bouncycastle.openssl.PEMParser$PrivateKeyParser.<init>:(Lorg/bouncycastle/openssl/PEMParser;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: .line 80
return
end local 1 // java.io.Reader reader
end local 0 // org.bouncycastle.openssl.PEMParser this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/bouncycastle/openssl/PEMParser;
0 20 1 reader Ljava/io/Reader;
MethodParameters:
Name Flags
reader
public java.lang.Object readObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 // org.bouncycastle.openssl.PEMParser this
0: .line 92
aload 0 /* this */
invokevirtual org.bouncycastle.openssl.PEMParser.readPemObject:()Lorg/bouncycastle/util/io/pem/PemObject;
astore 1 /* obj */
start local 1 // org.bouncycastle.util.io.pem.PemObject obj
1: .line 94
aload 1 /* obj */
ifnull 6
2: .line 96
aload 1 /* obj */
invokevirtual org.bouncycastle.util.io.pem.PemObject.getType:()Ljava/lang/String;
astore 2 /* type */
start local 2 // java.lang.String type
3: .line 97
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
aload 2 /* type */
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 5
4: .line 99
aload 0 /* this */
getfield org.bouncycastle.openssl.PEMParser.parsers:Ljava/util/Map;
aload 2 /* type */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.util.io.pem.PemObjectParser
aload 1 /* obj */
invokeinterface org.bouncycastle.util.io.pem.PemObjectParser.parseObject:(Lorg/bouncycastle/util/io/pem/PemObject;)Ljava/lang/Object;
areturn
5: .line 103
StackMap locals: org.bouncycastle.util.io.pem.PemObject java.lang.String
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "unrecognised object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* type */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 2 // java.lang.String type
6: .line 107
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 // org.bouncycastle.util.io.pem.PemObject obj
end local 0 // org.bouncycastle.openssl.PEMParser this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/openssl/PEMParser;
1 7 1 obj Lorg/bouncycastle/util/io/pem/PemObject;
3 6 2 type Ljava/lang/String;
Exceptions:
throws java.io.IOException
}
SourceFile: "PEMParser.java"
NestMembers:
org.bouncycastle.openssl.PEMParser$DSAKeyPairParser org.bouncycastle.openssl.PEMParser$ECCurveParamsParser org.bouncycastle.openssl.PEMParser$ECDSAKeyPairParser org.bouncycastle.openssl.PEMParser$EncryptedPrivateKeyParser org.bouncycastle.openssl.PEMParser$KeyPairParser org.bouncycastle.openssl.PEMParser$PKCS10CertificationRequestParser org.bouncycastle.openssl.PEMParser$PKCS7Parser org.bouncycastle.openssl.PEMParser$PrivateKeyParser org.bouncycastle.openssl.PEMParser$PublicKeyParser org.bouncycastle.openssl.PEMParser$RSAKeyPairParser org.bouncycastle.openssl.PEMParser$RSAPublicKeyParser org.bouncycastle.openssl.PEMParser$X509AttributeCertificateParser org.bouncycastle.openssl.PEMParser$X509CRLParser org.bouncycastle.openssl.PEMParser$X509CertificateParser org.bouncycastle.openssl.PEMParser$X509TrustedCertificateParser
InnerClasses:
private DSAKeyPairParser = org.bouncycastle.openssl.PEMParser$DSAKeyPairParser of org.bouncycastle.openssl.PEMParser
private ECCurveParamsParser = org.bouncycastle.openssl.PEMParser$ECCurveParamsParser of org.bouncycastle.openssl.PEMParser
private ECDSAKeyPairParser = org.bouncycastle.openssl.PEMParser$ECDSAKeyPairParser of org.bouncycastle.openssl.PEMParser
private EncryptedPrivateKeyParser = org.bouncycastle.openssl.PEMParser$EncryptedPrivateKeyParser of org.bouncycastle.openssl.PEMParser
private KeyPairParser = org.bouncycastle.openssl.PEMParser$KeyPairParser of org.bouncycastle.openssl.PEMParser
private PKCS10CertificationRequestParser = org.bouncycastle.openssl.PEMParser$PKCS10CertificationRequestParser of org.bouncycastle.openssl.PEMParser
private PKCS7Parser = org.bouncycastle.openssl.PEMParser$PKCS7Parser of org.bouncycastle.openssl.PEMParser
private PrivateKeyParser = org.bouncycastle.openssl.PEMParser$PrivateKeyParser of org.bouncycastle.openssl.PEMParser
private PublicKeyParser = org.bouncycastle.openssl.PEMParser$PublicKeyParser of org.bouncycastle.openssl.PEMParser
private RSAKeyPairParser = org.bouncycastle.openssl.PEMParser$RSAKeyPairParser of org.bouncycastle.openssl.PEMParser
private RSAPublicKeyParser = org.bouncycastle.openssl.PEMParser$RSAPublicKeyParser of org.bouncycastle.openssl.PEMParser
private X509AttributeCertificateParser = org.bouncycastle.openssl.PEMParser$X509AttributeCertificateParser of org.bouncycastle.openssl.PEMParser
private X509CRLParser = org.bouncycastle.openssl.PEMParser$X509CRLParser of org.bouncycastle.openssl.PEMParser
private X509CertificateParser = org.bouncycastle.openssl.PEMParser$X509CertificateParser of org.bouncycastle.openssl.PEMParser
private X509TrustedCertificateParser = org.bouncycastle.openssl.PEMParser$X509TrustedCertificateParser of org.bouncycastle.openssl.PEMParser