-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P3
-
Affects Version/s: 24, 25, 26
-
Component/s: security-libs
-
b05
-
x86_64
-
windows
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-8375168 | 26.0.1 | Francisco Ferrari Bihurriet | P3 | Resolved | Fixed | master |
| JDK-8374811 | 26 | Francisco Ferrari Bihurriet | P3 | Resolved | Fixed | b31 |
Re-create:
1. Create a Windows file system setup with the following security:
- c:\parent_folder : No user permissions
- c:\parent_folder\jdk\jdk-24 : JDK HOME folder, with user permissions
2. Run a testcase that causes c:\parent_folder\jdk\jdk-24\conf\security\java.security to be loaded, eg:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
public class md5test {
public static void main(String[] args) {
String message = "Text";
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(message.getBytes());
byte[] digest = md.digest();
System.out.println("Message: " + message);
System.out.println("SHA-256 Hash: " + bytesToHex(digest));
} catch (NoSuchAlgorithmException e) {
System.err.println("Error: SHA-256 algorithm not available.");
e.printStackTrace();
}
}
private static String bytesToHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}
Run testcase, fails as follows:
Exception in thread "main" java.lang.InternalError: Error loading java.security file
at java.base/java.security.Security$SecPropLoader.loadMaster(Security.java:142)
at java.base/java.security.Security$SecPropLoader.loadAll(Security.java:120)
at java.base/java.security.Security.initialize(Security.java:326)
at java.base/java.security.Security.<clinit>(Security.java:315)
at java.base/sun.security.jca.ProviderList.<init>(ProviderList.java:170)
at java.base/sun.security.jca.ProviderList.fromSecurityProperties(ProviderList.java:89)
at java.base/sun.security.jca.Providers.<clinit>(Providers.java:55)
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:144)
at java.base/java.security.MessageDigest.getInstance(MessageDigest.java:185)
at md5test.main(md5test.java:10)
Caused by: java.nio.file.AccessDeniedException: C:\parent_folder\jdk\jdk-24\conf\security\java.security
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:96)
at java.base/sun.nio.fs.WindowsLinkSupport.getRealPath(WindowsLinkSupport.java:280)
at java.base/sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:907)
at java.base/sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:42)
at java.base/java.security.Security$SecPropLoader.loadFromPath(Security.java:269)
at java.base/java.security.Security$SecPropLoader.loadMaster(Security.java:139)
... 9 more
- backported by
-
JDK-8374811 InternalError loading java.security due to Windows parent folder permissions
-
- Resolved
-
-
JDK-8375168 InternalError loading java.security due to Windows parent folder permissions
-
- Resolved
-
- caused by
-
JDK-8319332 Security properties files inclusion
-
- Resolved
-
- duplicates
-
JDK-8369741 cannot use java.security inside of UWP apps
-
- Closed
-
- links to
-
Commit(jdk26)
openjdk/jdk/31775fd2
-
Commit(master)
openjdk/jdk/7e1051bf
-
Review(jdk26)
openjdk/jdk/29121
-
Review(master)
openjdk/jdk/24465