diff --git a/src/java.base/share/classes/sun/security/jca/Providers.java b/src/java.base/share/classes/sun/security/jca/Providers.java index 642a9f33332..fdeac94ba43 100644 --- a/src/java.base/share/classes/sun/security/jca/Providers.java +++ b/src/java.base/share/classes/sun/security/jca/Providers.java @@ -56,14 +56,6 @@ public class Providers { // Note volatile immutable object, so no synchronization needed. private static volatile ProviderList providerList; - static { - // set providerList to empty list first in case initialization somehow - // triggers a getInstance() call (although that should not happen) - providerList = ProviderList.EMPTY; - providerList = ProviderList.fromSecurityProperties(); - RestrictedSecurity.checkHashValues(); - } - private Providers() { // empty } @@ -114,6 +106,14 @@ private Providers() { "com.sun.crypto.provider.SunJCE", }; + static { + // set providerList to empty list first in case initialization somehow + // triggers a getInstance() call (although that should not happen) + providerList = ProviderList.EMPTY; + providerList = ProviderList.fromSecurityProperties(); + RestrictedSecurity.checkHashValues(); + } + // Return Sun provider. // This method should only be called by // sun.security.util.ManifestEntryVerifier and java.security.SecureRandom.