class sun.security.ssl.NamedGroup$ECDHFunctions extends sun.security.ssl.NamedGroup$NamedGroupFunctions
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.ssl.NamedGroup$ECDHFunctions
super_class: sun.security.ssl.NamedGroup$NamedGroupFunctions
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.security.ssl.NamedGroup$NamedGroupFunctions.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
private static sun.security.ssl.NamedGroup$ECDHFunctions getInstance();
descriptor: ()Lsun/security/ssl/NamedGroup$ECDHFunctions;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.ssl.NamedGroup$ECDHFunctions$FunctionsHolder.instance:Lsun/security/ssl/NamedGroup$ECDHFunctions;
areturn
LocalVariableTable:
Start End Slot Name Signature
public byte[] encodePossessionPublicKey(sun.security.ssl.NamedGroupPossession);
descriptor: (Lsun/security/ssl/NamedGroupPossession;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast sun.security.ssl.ECDHKeyExchange$ECDHEPossession
invokevirtual sun.security.ssl.ECDHKeyExchange$ECDHEPossession.encode:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
0 1 1 namedGroupPossession Lsun/security/ssl/NamedGroupPossession;
MethodParameters:
Name Flags
namedGroupPossession
public sun.security.ssl.SSLCredentials decodeCredentials(sun.security.ssl.NamedGroup, byte[], java.security.AlgorithmConstraints, sun.security.ssl.NamedGroup$ExceptionSupplier);
descriptor: (Lsun/security/ssl/NamedGroup;[BLjava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroup$ExceptionSupplier;)Lsun/security/ssl/SSLCredentials;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
invokestatic sun.security.ssl.ECDHKeyExchange$ECDHECredentials.valueOf:(Lsun/security/ssl/NamedGroup;[B)Lsun/security/ssl/ECDHKeyExchange$ECDHECredentials;
1: astore 5
start local 5 2: aload 0
aload 5
invokevirtual sun.security.ssl.ECDHKeyExchange$ECDHECredentials.getPublicKey:()Ljava/security/PublicKey;
aload 3
3: aload 4
4: invokevirtual sun.security.ssl.NamedGroup$ECDHFunctions.checkConstraints:(Ljava/security/PublicKey;Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroup$ExceptionSupplier;)V
5: aload 5
areturn
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 6 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
0 6 1 ng Lsun/security/ssl/NamedGroup;
0 6 2 encoded [B
0 6 3 constraints Ljava/security/AlgorithmConstraints;
0 6 4 onConstraintFail Lsun/security/ssl/NamedGroup$ExceptionSupplier;
2 6 5 result Lsun/security/ssl/ECDHKeyExchange$ECDHECredentials;
Exceptions:
throws java.io.IOException, java.security.GeneralSecurityException
MethodParameters:
Name Flags
ng
encoded
constraints
onConstraintFail
public sun.security.ssl.SSLPossession createPossession(sun.security.ssl.NamedGroup, java.security.SecureRandom);
descriptor: (Lsun/security/ssl/NamedGroup;Ljava/security/SecureRandom;)Lsun/security/ssl/SSLPossession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.ssl.ECDHKeyExchange$ECDHEPossession
dup
aload 1
aload 2
invokespecial sun.security.ssl.ECDHKeyExchange$ECDHEPossession.<init>:(Lsun/security/ssl/NamedGroup;Ljava/security/SecureRandom;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
0 1 1 ng Lsun/security/ssl/NamedGroup;
0 1 2 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
ng
random
public sun.security.ssl.SSLKeyDerivation createKeyDerivation(sun.security.ssl.HandshakeContext);
descriptor: (Lsun/security/ssl/HandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ECDHKeyExchange.ecdheKAGenerator:Lsun/security/ssl/SSLKeyAgreementGenerator;
aload 1
invokeinterface sun.security.ssl.SSLKeyAgreementGenerator.createKeyDerivation:(Lsun/security/ssl/HandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
0 1 1 hc Lsun/security/ssl/HandshakeContext;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hc
public java.security.spec.AlgorithmParameterSpec getParameterSpec(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.security.ssl.SupportedGroupsExtension$SupportedGroups.getECGenParamSpec:(Lsun/security/ssl/NamedGroup;)Ljava/security/spec/ECGenParameterSpec;
1: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
0 2 1 ng Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
ng
public boolean isAvailable(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.ssl.NamedGroup$ECDHFunctions.getParameters:(Lsun/security/ssl/NamedGroup;)Ljava/security/AlgorithmParameters;
astore 2
start local 2 1: aload 2
ifnull 2
iconst_1
ireturn
StackMap locals: java.security.AlgorithmParameters
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
0 3 1 ng Lsun/security/ssl/NamedGroup;
1 3 2 params Ljava/security/AlgorithmParameters;
MethodParameters:
Name Flags
ng
protected java.util.Optional<java.security.AlgorithmParameters> getParametersImpl(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljava/util/Optional;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: ldc "EC"
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
1: astore 2
start local 2 2: new java.security.spec.ECGenParameterSpec
dup
aload 1
getfield sun.security.ssl.NamedGroup.oid:Ljava/lang/String;
invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
3: astore 3
start local 3 4: aload 2
aload 3
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
5: aload 2
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
6: areturn
end local 3 end local 2 7: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
pop
8: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/NamedGroup$ECDHFunctions;
0 9 1 ng Lsun/security/ssl/NamedGroup;
2 7 2 params Ljava/security/AlgorithmParameters;
4 7 3 spec Ljava/security/spec/AlgorithmParameterSpec;
Exception table:
from to target type
0 6 7 Class java.security.spec.InvalidParameterSpecException
0 6 7 Class java.security.NoSuchAlgorithmException
Signature: (Lsun/security/ssl/NamedGroup;)Ljava/util/Optional<Ljava/security/AlgorithmParameters;>;
MethodParameters:
Name Flags
ng
}
SourceFile: "NamedGroup.java"
NestHost: sun.security.ssl.NamedGroup
InnerClasses:
final ECDHECredentials = sun.security.ssl.ECDHKeyExchange$ECDHECredentials of sun.security.ssl.ECDHKeyExchange
final ECDHEPossession = sun.security.ssl.ECDHKeyExchange$ECDHEPossession of sun.security.ssl.ECDHKeyExchange
private ECDHFunctions = sun.security.ssl.NamedGroup$ECDHFunctions of sun.security.ssl.NamedGroup
private FunctionsHolder = sun.security.ssl.NamedGroup$ECDHFunctions$FunctionsHolder of sun.security.ssl.NamedGroup$ECDHFunctions
abstract ExceptionSupplier = sun.security.ssl.NamedGroup$ExceptionSupplier of sun.security.ssl.NamedGroup
private abstract NamedGroupFunctions = sun.security.ssl.NamedGroup$NamedGroupFunctions of sun.security.ssl.NamedGroup
SupportedGroups = sun.security.ssl.SupportedGroupsExtension$SupportedGroups of sun.security.ssl.SupportedGroupsExtension