final class sun.security.ssl.KeyShareExtension$HRRKeyShareSpec implements sun.security.ssl.SSLExtension$SSLExtensionSpec
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.KeyShareExtension$HRRKeyShareSpec
super_class: java.lang.Object
{
final int selectedGroup;
descriptor: I
flags: (0x0010) ACC_FINAL
void <init>(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.security.ssl.KeyShareExtension$HRRKeyShareSpec this
start local 1 // sun.security.ssl.NamedGroup serverGroup
0: .line 688
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 689
aload 0 /* this */
aload 1 /* serverGroup */
getfield sun.security.ssl.NamedGroup.id:I
putfield sun.security.ssl.KeyShareExtension$HRRKeyShareSpec.selectedGroup:I
2: .line 690
return
end local 1 // sun.security.ssl.NamedGroup serverGroup
end local 0 // sun.security.ssl.KeyShareExtension$HRRKeyShareSpec this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/KeyShareExtension$HRRKeyShareSpec;
0 3 1 serverGroup Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
serverGroup
private void <init>(sun.security.ssl.HandshakeContext, java.nio.ByteBuffer);
descriptor: (Lsun/security/ssl/HandshakeContext;Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 // sun.security.ssl.KeyShareExtension$HRRKeyShareSpec this
start local 1 // sun.security.ssl.HandshakeContext handshakeContext
start local 2 // java.nio.ByteBuffer buffer
0: .line 692
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 697
aload 2 /* buffer */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
if_icmpeq 9
2: .line 698
aload 1 /* handshakeContext */
getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
3: .line 699
new javax.net.ssl.SSLProtocolException
dup
4: .line 700
new java.lang.StringBuilder
dup
ldc "Invalid key_share extension: improper data (length="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: .line 701
aload 2 /* buffer */
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: .line 700
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: .line 699
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
8: .line 698
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
9: .line 704
StackMap locals: sun.security.ssl.KeyShareExtension$HRRKeyShareSpec sun.security.ssl.HandshakeContext java.nio.ByteBuffer
StackMap stack:
aload 0 /* this */
aload 2 /* buffer */
invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
putfield sun.security.ssl.KeyShareExtension$HRRKeyShareSpec.selectedGroup:I
10: .line 705
return
end local 2 // java.nio.ByteBuffer buffer
end local 1 // sun.security.ssl.HandshakeContext handshakeContext
end local 0 // sun.security.ssl.KeyShareExtension$HRRKeyShareSpec this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/KeyShareExtension$HRRKeyShareSpec;
0 11 1 handshakeContext Lsun/security/ssl/HandshakeContext;
0 11 2 buffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
handshakeContext
buffer
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 // sun.security.ssl.KeyShareExtension$HRRKeyShareSpec this
0: .line 709
new java.text.MessageFormat
dup
1: .line 710
ldc "\"selected group\": '['{0}']'"
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
2: .line 709
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
astore 1 /* messageFormat */
start local 1 // java.text.MessageFormat messageFormat
3: .line 712
iconst_1
anewarray java.lang.Object
dup
iconst_0
4: .line 713
aload 0 /* this */
getfield sun.security.ssl.KeyShareExtension$HRRKeyShareSpec.selectedGroup:I
invokestatic sun.security.ssl.NamedGroup.nameOf:(I)Ljava/lang/String;
aastore
5: .line 712
astore 2 /* messageFields */
start local 2 // java.lang.Object[] messageFields
6: .line 715
aload 1 /* messageFormat */
aload 2 /* messageFields */
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 2 // java.lang.Object[] messageFields
end local 1 // java.text.MessageFormat messageFormat
end local 0 // sun.security.ssl.KeyShareExtension$HRRKeyShareSpec this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/KeyShareExtension$HRRKeyShareSpec;
3 7 1 messageFormat Ljava/text/MessageFormat;
6 7 2 messageFields [Ljava/lang/Object;
}
SourceFile: "KeyShareExtension.java"
NestHost: sun.security.ssl.KeyShareExtension
InnerClasses:
final HRRKeyShareSpec = sun.security.ssl.KeyShareExtension$HRRKeyShareSpec of sun.security.ssl.KeyShareExtension
abstract SSLExtensionSpec = sun.security.ssl.SSLExtension$SSLExtensionSpec of sun.security.ssl.SSLExtension