public class io.undertow.server.BasicSSLSessionInfo implements io.undertow.server.SSLSessionInfo
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.server.BasicSSLSessionInfo
super_class: java.lang.Object
{
private final byte[] sessionId;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String cypherSuite;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.security.cert.Certificate[] peerCertificate;
descriptor: [Ljava/security/cert/Certificate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.security.cert.X509Certificate[] certificate;
descriptor: [Ljavax/security/cert/X509Certificate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(byte[], java.lang.String, java.lang.String);
descriptor: ([BLjava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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
aload 1
putfield io.undertow.server.BasicSSLSessionInfo.sessionId:[B
2: aload 0
aload 2
putfield io.undertow.server.BasicSSLSessionInfo.cypherSuite:Ljava/lang/String;
3: aload 3
ifnull 17
4: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 4
start local 4 5: aload 3
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 5
start local 5 6: new java.io.ByteArrayInputStream
dup
aload 5
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 6
start local 6 7: aload 4
aload 6
invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
astore 7
start local 7 8: aload 0
aload 7
invokeinterface java.util.Collection.size:()I
anewarray java.security.cert.Certificate
putfield io.undertow.server.BasicSSLSessionInfo.peerCertificate:[Ljava/security/cert/Certificate;
9: aload 0
aload 7
invokeinterface java.util.Collection.size:()I
anewarray javax.security.cert.X509Certificate
putfield io.undertow.server.BasicSSLSessionInfo.certificate:[Ljavax/security/cert/X509Certificate;
10: iconst_0
istore 8
start local 8 11: aload 7
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 15
StackMap locals: io.undertow.server.BasicSSLSessionInfo byte[] java.lang.String java.lang.String java.security.cert.CertificateFactory byte[] java.io.ByteArrayInputStream java.util.Collection int top java.util.Iterator
StackMap stack:
12: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 9
start local 9 13: aload 0
getfield io.undertow.server.BasicSSLSessionInfo.peerCertificate:[Ljava/security/cert/Certificate;
iload 8
aload 9
aastore
14: aload 0
getfield io.undertow.server.BasicSSLSessionInfo.certificate:[Ljavax/security/cert/X509Certificate;
iload 8
iinc 8 1
aload 9
invokevirtual java.security.cert.Certificate.getEncoded:()[B
invokestatic javax.security.cert.X509Certificate.getInstance:([B)Ljavax/security/cert/X509Certificate;
aastore
end local 9 15: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 8 end local 7 end local 6 end local 5 end local 4 16: goto 19
17: StackMap locals: io.undertow.server.BasicSSLSessionInfo byte[] java.lang.String java.lang.String
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.BasicSSLSessionInfo.peerCertificate:[Ljava/security/cert/Certificate;
18: aload 0
aconst_null
putfield io.undertow.server.BasicSSLSessionInfo.certificate:[Ljavax/security/cert/X509Certificate;
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/undertow/server/BasicSSLSessionInfo;
0 20 1 sessionId [B
0 20 2 cypherSuite Ljava/lang/String;
0 20 3 certificate Ljava/lang/String;
5 16 4 cf Ljava/security/cert/CertificateFactory;
6 16 5 certificateBytes [B
7 16 6 stream Ljava/io/ByteArrayInputStream;
8 16 7 certCol Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
11 16 8 i I
13 15 9 cert Ljava/security/cert/Certificate;
Exceptions:
throws java.security.cert.CertificateException, javax.security.cert.CertificateException
MethodParameters:
Name Flags
sessionId
cypherSuite
certificate
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=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack: uninitialized-this
1: aload 1
invokestatic io.undertow.server.BasicSSLSessionInfo.base64Decode:(Ljava/lang/String;)[B
StackMap locals: uninitialized-this java.lang.String java.lang.String java.lang.String
StackMap stack: uninitialized-this byte[]
2: aload 2
aload 3
invokespecial io.undertow.server.BasicSSLSessionInfo.<init>:([BLjava/lang/String;Ljava/lang/String;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/server/BasicSSLSessionInfo;
0 4 1 sessionId Ljava/lang/String;
0 4 2 cypherSuite Ljava/lang/String;
0 4 3 certificate Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateException, javax.security.cert.CertificateException
MethodParameters:
Name Flags
sessionId
cypherSuite
certificate
public byte[] getSessionId();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.BasicSSLSessionInfo.sessionId:[B
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.BasicSSLSessionInfo.sessionId:[B
arraylength
newarray 8
astore 1
start local 1 3: aload 0
getfield io.undertow.server.BasicSSLSessionInfo.sessionId:[B
iconst_0
aload 1
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/BasicSSLSessionInfo;
3 5 1 copy [B
public java.lang.String getCipherSuite();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.BasicSSLSessionInfo.cypherSuite:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/BasicSSLSessionInfo;
public java.security.cert.Certificate[] getPeerCertificates();
descriptor: ()[Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.BasicSSLSessionInfo.certificate:[Ljavax/security/cert/X509Certificate;
ifnonnull 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.peerUnverified:()Ljavax/net/ssl/SSLPeerUnverifiedException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.BasicSSLSessionInfo.peerCertificate:[Ljava/security/cert/Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/BasicSSLSessionInfo;
Exceptions:
throws javax.net.ssl.SSLPeerUnverifiedException
public javax.security.cert.X509Certificate[] getPeerCertificateChain();
descriptor: ()[Ljavax/security/cert/X509Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.BasicSSLSessionInfo.certificate:[Ljavax/security/cert/X509Certificate;
ifnonnull 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.peerUnverified:()Ljavax/net/ssl/SSLPeerUnverifiedException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.BasicSSLSessionInfo.certificate:[Ljavax/security/cert/X509Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/BasicSSLSessionInfo;
Exceptions:
throws javax.net.ssl.SSLPeerUnverifiedException
public void renegotiate(io.undertow.server.HttpServerExchange, org.xnio.SslClientAuthMode);
descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/SslClientAuthMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.renegotiationNotSupported:()Ljava/io/IOException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/BasicSSLSessionInfo;
0 1 1 exchange Lio/undertow/server/HttpServerExchange;
0 1 2 sslClientAuthMode Lorg/xnio/SslClientAuthMode;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
exchange
sslClientAuthMode
public javax.net.ssl.SSLSession getSSLSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/BasicSSLSessionInfo;
private static byte[] base64Decode(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokestatic io.undertow.util.FlexBase64.decode:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: aload 1
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 4
2: aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
astore 2
start local 2 3: goto 6
end local 2 4: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 2
start local 2 5: aload 1
aload 2
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
6: StackMap locals: byte[]
StackMap stack:
aload 2
7: areturn
end local 2 end local 1 8: StackMap locals: java.lang.String
StackMap stack: java.io.IOException
pop
9: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 sessionId Ljava/lang/String;
1 8 1 sessionIdBuffer Ljava/nio/ByteBuffer;
3 4 2 sessionIdData [B
5 8 2 sessionIdData [B
Exception table:
from to target type
0 7 8 Class java.io.IOException
MethodParameters:
Name Flags
sessionId
}
SourceFile: "BasicSSLSessionInfo.java"