diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/SecurityServicesFeature.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/SecurityServicesFeature.java index a0a383be4741..97f497ed5b6b 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/SecurityServicesFeature.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/SecurityServicesFeature.java @@ -224,6 +224,8 @@ public void afterRegistration(AfterRegistrationAccess a) { ModuleSupport.accessPackagesToClass(ModuleSupport.Access.OPEN, getClass(), false, "java.base", "sun.security.x509"); ModuleSupport.accessModuleByClass(ModuleSupport.Access.OPEN, getClass(), Security.class); ImageSingletons.add(SecurityProvidersFilter.class, this); + ImageSingletons.lookup(RuntimeClassInitializationSupport.class).initializeAtBuildTime("javax.security.auth.kerberos.KeyTab", + "Force initialization of sun.security.krb5.KerberosSecrets.javaxSecurityAuthKerberosAccess"); } @Override @@ -252,7 +254,7 @@ public void duringSetup(DuringSetupAccess a) { rci.rerunInitialization(clazz(access, "sun.security.provider.SeedGenerator"), "for substitutions"); rci.rerunInitialization(clazz(access, "sun.security.provider.SecureRandom$SeederHolder"), "for substitutions"); - rci.rerunInitialization(clazz(access, "sun.security.krb5.Config"), "lazy initial value"); + rci.rerunInitialization(clazz(access, "sun.security.krb5.Config"), "Reset the value of lazily initialized field sun.security.krb5.Config#singleton"); /* * sun.security.provider.AbstractDrbg$SeederHolder has a static final EntropySource seeder