final class sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange extends sun.security.ssl.HandshakeMessage$ServerKeyExchange
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange
super_class: sun.security.ssl.HandshakeMessage$ServerKeyExchange
{
private static final boolean dhKeyExchangeFix;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private byte[] dh_p;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] dh_g;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] dh_Ys;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] signature;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "com.sun.net.ssl.dhKeyExchangeFix"
iconst_1
invokestatic sun.security.ssl.Debug.getBooleanProperty:(Ljava/lang/String;Z)Z
1: putstatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dhKeyExchangeFix:Z
2: return
LocalVariableTable:
Start End Slot Name Signature
java.math.BigInteger getModulus();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
java.math.BigInteger getBase();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
java.math.BigInteger getServerPublicKey();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
private void updateSignature(java.security.Signature, byte[], byte[]);
descriptor: (Ljava/security/Signature;[B[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokevirtual java.security.Signature.update:([B)V
1: aload 1
aload 3
invokevirtual java.security.Signature.update:([B)V
2: aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
arraylength
istore 4
start local 4 3: aload 1
iload 4
bipush 8
ishr
i2b
invokevirtual java.security.Signature.update:(B)V
4: aload 1
iload 4
sipush 255
iand
i2b
invokevirtual java.security.Signature.update:(B)V
5: aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
invokevirtual java.security.Signature.update:([B)V
6: aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
arraylength
istore 4
7: aload 1
iload 4
bipush 8
ishr
i2b
invokevirtual java.security.Signature.update:(B)V
8: aload 1
iload 4
sipush 255
iand
i2b
invokevirtual java.security.Signature.update:(B)V
9: aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
invokevirtual java.security.Signature.update:([B)V
10: aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
arraylength
istore 4
11: aload 1
iload 4
bipush 8
ishr
i2b
invokevirtual java.security.Signature.update:(B)V
12: aload 1
iload 4
sipush 255
iand
i2b
invokevirtual java.security.Signature.update:(B)V
13: aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
invokevirtual java.security.Signature.update:([B)V
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 15 1 sig Ljava/security/Signature;
0 15 2 clntNonce [B
0 15 3 svrNonce [B
3 15 4 tmp I
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
sig
clntNonce
svrNonce
void <init>(sun.security.ssl.DHCrypt);
descriptor: (Lsun/security/ssl/DHCrypt;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.ssl.HandshakeMessage$ServerKeyExchange.<init>:()V
1: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.getValues:(Lsun/security/ssl/DHCrypt;)V
2: aload 0
aconst_null
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 4 1 obj Lsun/security/ssl/DHCrypt;
MethodParameters:
Name Flags
obj
void <init>(sun.security.ssl.DHCrypt, java.security.PrivateKey, byte[], byte[], java.security.SecureRandom);
descriptor: (Lsun/security/ssl/DHCrypt;Ljava/security/PrivateKey;[B[BLjava/security/SecureRandom;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial sun.security.ssl.HandshakeMessage$ServerKeyExchange.<init>:()V
1: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.getValues:(Lsun/security/ssl/DHCrypt;)V
2: aload 2
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: ldc "DSA"
invokestatic sun.security.ssl.JsseJce.getSignature:(Ljava/lang/String;)Ljava/security/Signature;
astore 6
start local 6 4: goto 6
end local 6 5: StackMap locals: sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange sun.security.ssl.DHCrypt java.security.PrivateKey byte[] byte[] java.security.SecureRandom
StackMap stack:
invokestatic sun.security.ssl.RSASignature.getInstance:()Ljava/security/Signature;
astore 6
start local 6 6: StackMap locals: java.security.Signature
StackMap stack:
aload 6
aload 2
aload 5
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
7: aload 0
aload 6
aload 3
aload 4
invokevirtual sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.updateSignature:(Ljava/security/Signature;[B[B)V
8: aload 0
aload 6
invokevirtual java.security.Signature.sign:()[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
9: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 10 1 obj Lsun/security/ssl/DHCrypt;
0 10 2 key Ljava/security/PrivateKey;
0 10 3 clntNonce [B
0 10 4 svrNonce [B
0 10 5 sr Ljava/security/SecureRandom;
4 5 6 sig Ljava/security/Signature;
6 10 6 sig Ljava/security/Signature;
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
obj
key
clntNonce
svrNonce
sr
private void getValues(sun.security.ssl.DHCrypt);
descriptor: (Lsun/security/ssl/DHCrypt;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.ssl.DHCrypt.getModulus:()Ljava/math/BigInteger;
invokestatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.toByteArray:(Ljava/math/BigInteger;)[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
1: aload 0
aload 1
invokevirtual sun.security.ssl.DHCrypt.getBase:()Ljava/math/BigInteger;
invokestatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.toByteArray:(Ljava/math/BigInteger;)[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
2: aload 0
aload 1
invokevirtual sun.security.ssl.DHCrypt.getPublicKey:()Ljava/math/BigInteger;
invokestatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.toByteArray:(Ljava/math/BigInteger;)[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 4 1 obj Lsun/security/ssl/DHCrypt;
MethodParameters:
Name Flags
obj
void <init>(sun.security.ssl.HandshakeInStream);
descriptor: (Lsun/security/ssl/HandshakeInStream;)V
flags: (0x0000)
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.ssl.HandshakeMessage$ServerKeyExchange.<init>:()V
1: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
2: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
3: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
4: new javax.crypto.spec.DHPublicKeySpec
dup
new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
5: new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
6: new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
7: invokespecial javax.crypto.spec.DHPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
invokestatic sun.security.util.KeyUtil.validate:(Ljava/security/spec/KeySpec;)V
8: aload 0
aconst_null
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 10 1 input Lsun/security/ssl/HandshakeInStream;
Exceptions:
throws java.io.IOException, java.security.GeneralSecurityException
MethodParameters:
Name Flags
input
void <init>(sun.security.ssl.HandshakeInStream, java.security.PublicKey, byte[], byte[], int);
descriptor: (Lsun/security/ssl/HandshakeInStream;Ljava/security/PublicKey;[B[BI)V
flags: (0x0000)
Code:
stack=8, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial sun.security.ssl.HandshakeMessage$ServerKeyExchange.<init>:()V
1: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
2: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
3: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
putfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
4: new javax.crypto.spec.DHPublicKeySpec
dup
new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
5: new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
6: new java.math.BigInteger
dup
iconst_1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
invokespecial java.math.BigInteger.<init>:(I[B)V
7: invokespecial javax.crypto.spec.DHPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
invokestatic sun.security.util.KeyUtil.validate:(Ljava/security/spec/KeySpec;)V
8: getstatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dhKeyExchangeFix:Z
ifeq 11
9: aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
astore 6
start local 6 10: goto 16
end local 6 11: StackMap locals: sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange sun.security.ssl.HandshakeInStream java.security.PublicKey byte[] byte[] int
StackMap stack:
iload 5
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
arraylength
iconst_2
iadd
isub
istore 5
12: iload 5
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
arraylength
iconst_2
iadd
isub
istore 5
13: iload 5
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
arraylength
iconst_2
iadd
isub
istore 5
14: iload 5
newarray 8
astore 6
start local 6 15: aload 1
aload 6
invokevirtual sun.security.ssl.HandshakeInStream.read:([B)I
pop
16: StackMap locals: byte[]
StackMap stack:
aload 2
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
astore 8
start local 8 17: ldc "DSA"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: ldc "DSA"
invokestatic sun.security.ssl.JsseJce.getSignature:(Ljava/lang/String;)Ljava/security/Signature;
astore 7
start local 7 19: goto 24
end local 7 StackMap locals: sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange sun.security.ssl.HandshakeInStream java.security.PublicKey byte[] byte[] int byte[] top java.lang.String
StackMap stack:
20: ldc "RSA"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: invokestatic sun.security.ssl.RSASignature.getInstance:()Ljava/security/Signature;
astore 7
start local 7 22: goto 24
end local 7 23: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLKeyException
dup
ldc "neither an RSA or a DSA key"
invokespecial javax.net.ssl.SSLKeyException.<init>:(Ljava/lang/String;)V
athrow
start local 7 24: StackMap locals: sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange sun.security.ssl.HandshakeInStream java.security.PublicKey byte[] byte[] int byte[] java.security.Signature java.lang.String
StackMap stack:
aload 7
aload 2
invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
25: aload 0
aload 7
aload 3
aload 4
invokevirtual sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.updateSignature:(Ljava/security/Signature;[B[B)V
26: aload 7
aload 6
invokevirtual java.security.Signature.verify:([B)Z
ifne 28
27: new javax.net.ssl.SSLKeyException
dup
ldc "Server D-H key verification failed"
invokespecial javax.net.ssl.SSLKeyException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 29 1 input Lsun/security/ssl/HandshakeInStream;
0 29 2 publicKey Ljava/security/PublicKey;
0 29 3 clntNonce [B
0 29 4 svrNonce [B
0 29 5 messageSize I
10 11 6 signature [B
15 29 6 signature [B
19 20 7 sig Ljava/security/Signature;
22 23 7 sig Ljava/security/Signature;
24 29 7 sig Ljava/security/Signature;
17 29 8 algorithm Ljava/lang/String;
Exceptions:
throws java.io.IOException, java.security.GeneralSecurityException
MethodParameters:
Name Flags
input
publicKey
clntNonce
svrNonce
messageSize
int messageLength();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 6
istore 1
start local 1 1: iload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
arraylength
iadd
istore 1
2: iload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
arraylength
iadd
istore 1
3: iload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
arraylength
iadd
istore 1
4: aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
ifnull 8
5: iload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
arraylength
iadd
istore 1
6: getstatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dhKeyExchangeFix:Z
ifeq 8
7: iinc 1 2
8: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
1 9 1 temp I
void send(sun.security.ssl.HandshakeOutStream);
descriptor: (Lsun/security/ssl/HandshakeOutStream;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
invokevirtual sun.security.ssl.HandshakeOutStream.putBytes16:([B)V
1: aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
invokevirtual sun.security.ssl.HandshakeOutStream.putBytes16:([B)V
2: aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
invokevirtual sun.security.ssl.HandshakeOutStream.putBytes16:([B)V
3: aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
ifnull 8
4: getstatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dhKeyExchangeFix:Z
ifeq 7
5: aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
invokevirtual sun.security.ssl.HandshakeOutStream.putBytes16:([B)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
invokevirtual sun.security.ssl.HandshakeOutStream.write:([B)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 9 1 s Lsun/security/ssl/HandshakeOutStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
void print(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "*** Diffie-Hellman ServerKeyExchange"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.debug:Lsun/security/ssl/Debug;
ifnull 9
ldc "verbose"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 9
2: aload 1
ldc "DH Modulus"
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_p:[B
invokestatic sun.security.ssl.Debug.println:(Ljava/io/PrintStream;Ljava/lang/String;[B)V
3: aload 1
ldc "DH Base"
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_g:[B
invokestatic sun.security.ssl.Debug.println:(Ljava/io/PrintStream;Ljava/lang/String;[B)V
4: aload 1
ldc "Server DH Public Key"
aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.dh_Ys:[B
invokestatic sun.security.ssl.Debug.println:(Ljava/io/PrintStream;Ljava/lang/String;[B)V
5: aload 0
getfield sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.signature:[B
ifnonnull 8
6: aload 1
ldc "Anonymous"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 1
ldc "Signed with a DSA or RSA public key"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/HandshakeMessage$DH_ServerKeyExchange;
0 10 1 s Ljava/io/PrintStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
}
SourceFile: "HandshakeMessage.java"
NestHost: sun.security.ssl.HandshakeMessage
InnerClasses:
final DH_ServerKeyExchange = sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange of sun.security.ssl.HandshakeMessage
abstract ServerKeyExchange = sun.security.ssl.HandshakeMessage$ServerKeyExchange of sun.security.ssl.HandshakeMessage