Skip to content

Commit aa51acf

Browse files
Do not pull SecureRandom into image heap.
1 parent f14a240 commit aa51acf

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/SecurityServicesFeature.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,14 @@ public void duringSetup(DuringSetupAccess a) {
301301
rci.initializeAtRunTime(NativePRNG.Blocking.class, "for substitutions");
302302
rci.initializeAtRunTime(NativePRNG.NonBlocking.class, "for substitutions");
303303

304+
/*
305+
* The following classes will pull a SecureRandom instance into the image heap, so we need
306+
* to explicitly move them to a run time.
307+
*/
308+
rci.initializeAtRunTime(clazz(access, "com.sun.security.sasl.CramMD5Server"), "for substitutions");
309+
rci.initializeAtRunTime(clazz(access, "com.sun.security.sasl.digest.DigestMD5Base"), "for substitutions");
310+
rci.initializeAtRunTime(clazz(access, "com.sun.security.sasl.digest.DigestMD5Client"), "for substitutions");
311+
304312
rci.initializeAtRunTime(clazz(access, "sun.security.provider.SeedGenerator"), "for substitutions");
305313
rci.initializeAtRunTime(clazz(access, "sun.security.provider.SecureRandom$SeederHolder"), "for substitutions");
306314

0 commit comments

Comments
 (0)