final class com.oracle.svm.core.jdk.Target_javax_crypto_JceSecurity
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.jdk.Target_javax_crypto_JceSecurity
super_class: java.lang.Object
{
static java.security.SecureRandom RANDOM;
descriptor: Ljava/security/SecureRandom;
flags: (0x0008) ACC_STATIC
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Alias()
com.oracle.svm.core.annotate.InjectAccessors(value = Lcom/oracle/svm/core/jdk/JceSecurityAccessor;)
private static java.lang.Object PROVIDER_VERIFIED;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Alias()
private static java.util.Map<java.security.Provider, java.lang.Object> verificationResults;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/security/Provider;Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Alias()
void <init>();
descriptor: ()V
flags: (0x0000)
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 Lcom/oracle/svm/core/jdk/Target_javax_crypto_JceSecurity;
static void verifyProviderJar(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "javax.crypto.JceSecurity.verifyProviderJar(URL)"
invokestatic com.oracle.svm.core.jdk.JceSecurityUtil.shouldNotReach:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 var0 Ljava/net/URL;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Substitute()
com.oracle.svm.core.annotate.TargetElement(onlyWith = {Lcom/oracle/svm/core/jdk/JDK8OrEarlier;})
MethodParameters:
Name Flags
var0
static void verifyProvider(java.net.URL, java.security.Provider);
descriptor: (Ljava/net/URL;Ljava/security/Provider;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "javax.crypto.JceSecurity.verifyProviderJar(URL, Provider)"
invokestatic com.oracle.svm.core.jdk.JceSecurityUtil.shouldNotReach:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codeBase Ljava/net/URL;
0 1 1 p Ljava/security/Provider;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Substitute()
com.oracle.svm.core.annotate.TargetElement(onlyWith = {Lcom/oracle/svm/core/jdk/JDK11OrLater;})
MethodParameters:
Name Flags
codeBase
p
static java.net.URL getCodeBase(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/net/URL;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Trying to access the code base of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.unsupportedFeature:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/net/URL;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Substitute()
MethodParameters:
Name Flags
clazz final
static java.lang.Exception getVerificationResult(java.security.Provider);
descriptor: (Ljava/security/Provider;)Ljava/lang/Exception;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.svm.core.jdk.Target_javax_crypto_JceSecurity.verificationResults:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
getstatic com.oracle.svm.core.jdk.Target_javax_crypto_JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
if_acmpne 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
ifnull 5
4: aload 1
checkcast java.lang.Exception
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Trying to verify a provider that was not registered at build time: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "All providers must be registered and verified in the Native Image builder. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "Only the SUN provider is registered and verified by default. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "All other built-in providers are processed when all security services are enabled using the "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.oracle.svm.core.jdk.JceSecurityUtil.enableAllSecurityServices:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " option. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "Third party providers must be configured in the Native Image builder VM. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.unsupportedFeature:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 p Ljava/security/Provider;
1 11 1 o Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Substitute()
MethodParameters:
Name Flags
p
}
SourceFile: "SecuritySubstitutions.java"
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.TargetClass(className = "javax.crypto.JceSecurity")