-
Bug
-
Resolution: Fixed
-
P3
-
11, 17, 21
-
b26
-
generic
-
os_x
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8310039 | 22 | Weijun Wang | P3 | Resolved | Fixed | b02 |
JDK-8309985 | 17.0.9 | Christoph Langer | P3 | Resolved | Fixed | b01 |
JDK-8309936 | 17.0.8 | Christoph Langer | P3 | Resolved | Fixed | b06 |
JDK-8310509 | 11.0.21 | Christoph Langer | P3 | Resolved | Fixed | b01 |
JDK-8309994 | 11.0.20 | Christoph Langer | P3 | Resolved | Fixed | b07 |
However, the implementation seems flawed as not all possible trusted certificates are loaded. With the current code (https://github.com/openjdk/jdk/blob/2adb3b409e8cc87685a4379be3f7beeb53706e2e/src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m#L440), certificates are only loaded if a trust record in the "user domain" exists. This however is not sufficient, as there might as well be records in the domains "admin" or "system".
Further details can be taken out of the MacOS API documentation:
https://developer.apple.com/documentation/security/1400261-sectrustsettingscopytrustsetting
https://developer.apple.com/documentation/security/sectrustsettingsdomain
The following example program can be used to display the Keystore contents from the MacOS key chain:
--------------
import java.security.KeyStore;
public class MacKeyChainStoreTrustDemo {
@SuppressWarnings("nls")
public static void main(String[] args) throws Exception {
KeyStore keyStore = KeyStore.getInstance("KeychainStore", "Apple");
keyStore.load(null, null);
keyStore.aliases().asIterator().forEachRemaining(System.out::println);
System.out.println("size:" + keyStore.size());
}
}
--------------
- backported by
-
JDK-8309936 KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
- Resolved
-
JDK-8309985 KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
- Resolved
-
JDK-8309994 KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
- Resolved
-
JDK-8310039 KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
- Resolved
-
JDK-8310509 KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
- Resolved
- csr for
-
JDK-8308690 KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
- Closed
- links to
-
Commit openjdk/jdk11u/d286dded
-
Commit openjdk/jdk17u/0f531dac
-
Commit openjdk/jdk/ac41c030
-
Review openjdk/jdk11u/73
-
Review openjdk/jdk17u/371
-
Review openjdk/jdk/12829
-
Review openjdk/jdk/13945