abstract class sun.security.ssl.NamedGroup$NamedGroupFunctions
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.security.ssl.NamedGroup$NamedGroupFunctions
super_class: java.lang.Object
{
protected static final java.util.Map<sun.security.ssl.NamedGroup, java.security.AlgorithmParameters> namedGroupParams;
descriptor: Ljava/util/Map;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lsun/security/ssl/NamedGroup;Ljava/security/AlgorithmParameters;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic sun.security.ssl.NamedGroup$NamedGroupFunctions.namedGroupParams:Ljava/util/Map;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/NamedGroup$NamedGroupFunctions;
protected void checkConstraints(java.security.PublicKey, java.security.AlgorithmConstraints, sun.security.ssl.NamedGroup$ExceptionSupplier);
descriptor: (Ljava/security/PublicKey;Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroup$ExceptionSupplier;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
1: getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
2: aload 1
3: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
4: ifne 6
5: aload 3
ldc "key share entry does not comply with algorithm constraints"
invokeinterface sun.security.ssl.NamedGroup$ExceptionSupplier.apply:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/NamedGroup$NamedGroupFunctions;
0 7 1 publicKey Ljava/security/PublicKey;
0 7 2 constraints Ljava/security/AlgorithmConstraints;
0 7 3 onConstraintFail Lsun/security/ssl/NamedGroup$ExceptionSupplier;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
publicKey
constraints
onConstraintFail
public java.security.AlgorithmParameters getParameters(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljava/security/AlgorithmParameters;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.NamedGroup$NamedGroupFunctions.namedGroupParams:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
astore 2
start local 2 1: aload 2
ifnonnull 6
2: aload 0
aload 1
invokevirtual sun.security.ssl.NamedGroup$NamedGroupFunctions.getParametersImpl:(Lsun/security/ssl/NamedGroup;)Ljava/util/Optional;
astore 3
start local 3 3: aload 3
invokevirtual java.util.Optional.isPresent:()Z
ifeq 6
4: aload 3
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
astore 2
5: getstatic sun.security.ssl.NamedGroup$NamedGroupFunctions.namedGroupParams:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals: java.security.AlgorithmParameters
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/NamedGroup$NamedGroupFunctions;
0 7 1 ng Lsun/security/ssl/NamedGroup;
1 7 2 result Ljava/security/AlgorithmParameters;
3 6 3 paramsOpt Ljava/util/Optional<Ljava/security/AlgorithmParameters;>;
MethodParameters:
Name Flags
ng
public abstract byte[] encodePossessionPublicKey(sun.security.ssl.NamedGroupPossession);
descriptor: (Lsun/security/ssl/NamedGroupPossession;)[B
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
namedGroupPossession
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, java.security.GeneralSecurityException
MethodParameters:
Name Flags
ng
encoded
constraints
onConstraintFail
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
ng
random
public abstract sun.security.ssl.SSLKeyDerivation createKeyDerivation(sun.security.ssl.HandshakeContext);
descriptor: (Lsun/security/ssl/HandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hc
protected abstract java.util.Optional<java.security.AlgorithmParameters> getParametersImpl(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljava/util/Optional;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lsun/security/ssl/NamedGroup;)Ljava/util/Optional<Ljava/security/AlgorithmParameters;>;
MethodParameters:
Name Flags
ng
public abstract java.security.spec.AlgorithmParameterSpec getParameterSpec(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
ng
public abstract boolean isAvailable(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
ng
}
SourceFile: "NamedGroup.java"
NestHost: sun.security.ssl.NamedGroup
InnerClasses:
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