public class org.apache.tomcat.util.net.jsse.PEMFile
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.tomcat.util.net.jsse.PEMFile
super_class: java.lang.Object
{
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.security.cert.X509Certificate> certificates;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/security/cert/X509Certificate;>;
private java.security.PrivateKey privateKey;
descriptor: Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/tomcat/util/net/jsse/PEMFile;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.tomcat.util.net.jsse.PEMFile.sm:Lorg/apache/tomcat/util/res/StringManager;
return
LocalVariableTable:
Start End Slot Name Signature
public java.util.List<java.security.cert.X509Certificate> getCertificates();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.jsse.PEMFile.certificates:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/jsse/PEMFile;
Signature: ()Ljava/util/List<Ljava/security/cert/X509Certificate;>;
public java.security.PrivateKey getPrivateKey();
descriptor: ()Ljava/security/PrivateKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.jsse.PEMFile.privateKey:Ljava/security/PrivateKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/jsse/PEMFile;
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial org.apache.tomcat.util.net.jsse.PEMFile.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/jsse/PEMFile;
0 2 1 filename Ljava/lang/String;
Exceptions:
throws java.io.IOException, java.security.GeneralSecurityException
MethodParameters:
Name Flags
filename
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokespecial org.apache.tomcat.util.net.jsse.PEMFile.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/jsse/PEMFile;
0 2 1 filename Ljava/lang/String;
0 2 2 password Ljava/lang/String;
Exceptions:
throws java.io.IOException, java.security.GeneralSecurityException
MethodParameters:
Name Flags
filename
password
public void <init>(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.tomcat.util.net.jsse.PEMFile.certificates:Ljava/util/List;
2: aload 0
aload 1
putfield org.apache.tomcat.util.net.jsse.PEMFile.filename:Ljava/lang/String;
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: aconst_null
astore 5
aconst_null
astore 6
5: invokestatic org.apache.tomcat.util.file.ConfigFileLoader.getSource:()Lorg/apache/tomcat/util/file/ConfigurationSource;
aload 1
invokeinterface org.apache.tomcat.util.file.ConfigurationSource.getResource:(Ljava/lang/String;)Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
invokevirtual org.apache.tomcat.util.file.ConfigurationSource$Resource.getInputStream:()Ljava/io/InputStream;
astore 7
start local 7 6: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 7
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
7: astore 8
start local 8 8: aconst_null
astore 9
start local 9 9: goto 20
start local 10 10: StackMap locals: org.apache.tomcat.util.net.jsse.PEMFile java.lang.String java.lang.String java.lang.String java.util.List java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.BufferedReader org.apache.tomcat.util.net.jsse.PEMFile$Part java.lang.String
StackMap stack:
aload 10
ldc "-----BEGIN "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
11: new org.apache.tomcat.util.net.jsse.PEMFile$Part
dup
aload 0
invokespecial org.apache.tomcat.util.net.jsse.PEMFile$Part.<init>:(Lorg/apache/tomcat/util/net/jsse/PEMFile;)V
astore 9
12: aload 9
aload 10
ldc "-----BEGIN "
invokevirtual java.lang.String.length:()I
aload 10
invokevirtual java.lang.String.length:()I
iconst_5
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
putfield org.apache.tomcat.util.net.jsse.PEMFile$Part.type:Ljava/lang/String;
13: goto 20
StackMap locals:
StackMap stack:
14: aload 10
ldc "-----END "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 18
15: aload 4
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aconst_null
astore 9
17: goto 20
StackMap locals:
StackMap stack:
18: aload 9
ifnull 20
aload 10
ldc ":"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 20
aload 10
ldc " "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 20
19: aload 9
dup
getfield org.apache.tomcat.util.net.jsse.PEMFile$Part.content:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.apache.tomcat.util.net.jsse.PEMFile$Part.content:Ljava/lang/String;
end local 10 20: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 10
start local 10 21: ifnonnull 10
end local 10 end local 9 end local 8 22: aload 7
ifnull 28
aload 7
invokevirtual java.io.InputStream.close:()V
goto 28
StackMap locals: org.apache.tomcat.util.net.jsse.PEMFile java.lang.String java.lang.String java.lang.String java.util.List java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
23: astore 5
aload 7
ifnull 24
aload 7
invokevirtual java.io.InputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
24: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 6
aload 5
ifnonnull 26
aload 6
astore 5
goto 27
StackMap locals:
StackMap stack:
26: aload 5
aload 6
if_acmpeq 27
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
27: aload 5
athrow
28: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 43
StackMap locals: org.apache.tomcat.util.net.jsse.PEMFile java.lang.String java.lang.String java.lang.String java.util.List top java.util.Iterator
StackMap stack:
29: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.jsse.PEMFile$Part
astore 5
start local 5 30: aload 5
getfield org.apache.tomcat.util.net.jsse.PEMFile$Part.type:Ljava/lang/String;
dup
astore 7
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 5
-2076506627: 31
-283732602: 32
-189606537: 33
-170985982: 34
2121838594: 35
default: 43
}
StackMap locals: org.apache.tomcat.util.net.jsse.PEMFile java.lang.String java.lang.String java.lang.String java.util.List org.apache.tomcat.util.net.jsse.PEMFile$Part java.util.Iterator java.lang.String
StackMap stack:
31: aload 7
ldc "X509 CERTIFICATE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 42
goto 43
StackMap locals:
StackMap stack:
32: aload 7
ldc "ENCRYPTED PRIVATE KEY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
goto 43
StackMap locals:
StackMap stack:
33: aload 7
ldc "CERTIFICATE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 42
goto 43
StackMap locals:
StackMap stack:
34: aload 7
ldc "PRIVATE KEY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 36
goto 43
StackMap locals:
StackMap stack:
35: aload 7
ldc "RSA PRIVATE KEY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 40
goto 43
36: StackMap locals:
StackMap stack:
aload 0
aload 5
aconst_null
aload 3
getstatic org.apache.tomcat.util.net.jsse.PEMFile$Format.PKCS8:Lorg/apache/tomcat/util/net/jsse/PEMFile$Format;
invokevirtual org.apache.tomcat.util.net.jsse.PEMFile$Part.toPrivateKey:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/tomcat/util/net/jsse/PEMFile$Format;)Ljava/security/PrivateKey;
putfield org.apache.tomcat.util.net.jsse.PEMFile.privateKey:Ljava/security/PrivateKey;
37: goto 43
38: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 2
aload 3
getstatic org.apache.tomcat.util.net.jsse.PEMFile$Format.PKCS8:Lorg/apache/tomcat/util/net/jsse/PEMFile$Format;
invokevirtual org.apache.tomcat.util.net.jsse.PEMFile$Part.toPrivateKey:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/tomcat/util/net/jsse/PEMFile$Format;)Ljava/security/PrivateKey;
putfield org.apache.tomcat.util.net.jsse.PEMFile.privateKey:Ljava/security/PrivateKey;
39: goto 43
40: StackMap locals:
StackMap stack:
aload 0
aload 5
aconst_null
aload 3
getstatic org.apache.tomcat.util.net.jsse.PEMFile$Format.PKCS1:Lorg/apache/tomcat/util/net/jsse/PEMFile$Format;
invokevirtual org.apache.tomcat.util.net.jsse.PEMFile$Part.toPrivateKey:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/tomcat/util/net/jsse/PEMFile$Format;)Ljava/security/PrivateKey;
putfield org.apache.tomcat.util.net.jsse.PEMFile.privateKey:Ljava/security/PrivateKey;
41: goto 43
42: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.jsse.PEMFile.certificates:Ljava/util/List;
aload 5
invokevirtual org.apache.tomcat.util.net.jsse.PEMFile$Part.toCertificate:()Ljava/security/cert/X509Certificate;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 43: StackMap locals: org.apache.tomcat.util.net.jsse.PEMFile java.lang.String java.lang.String java.lang.String java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
44: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/apache/tomcat/util/net/jsse/PEMFile;
0 45 1 filename Ljava/lang/String;
0 45 2 password Ljava/lang/String;
0 45 3 keyAlgorithm Ljava/lang/String;
4 45 4 parts Ljava/util/List<Lorg/apache/tomcat/util/net/jsse/PEMFile$Part;>;
6 24 7 inputStream Ljava/io/InputStream;
8 22 8 reader Ljava/io/BufferedReader;
9 22 9 part Lorg/apache/tomcat/util/net/jsse/PEMFile$Part;
10 20 10 line Ljava/lang/String;
21 22 10 line Ljava/lang/String;
30 43 5 part Lorg/apache/tomcat/util/net/jsse/PEMFile$Part;
Exception table:
from to target type
6 22 23 any
5 25 25 any
Exceptions:
throws java.io.IOException, java.security.GeneralSecurityException
MethodParameters:
Name Flags
filename
password
keyAlgorithm
}
SourceFile: "PEMFile.java"
NestMembers:
org.apache.tomcat.util.net.jsse.PEMFile$Format org.apache.tomcat.util.net.jsse.PEMFile$Part
InnerClasses:
public Resource = org.apache.tomcat.util.file.ConfigurationSource$Resource of org.apache.tomcat.util.file.ConfigurationSource
private final Format = org.apache.tomcat.util.net.jsse.PEMFile$Format of org.apache.tomcat.util.net.jsse.PEMFile
private Part = org.apache.tomcat.util.net.jsse.PEMFile$Part of org.apache.tomcat.util.net.jsse.PEMFile