RFR: 8347067: Load certificates without explicit trust settings in KeyChainStore [v3]

Alexey Bakhtin abakhtin at openjdk.org
Mon Jan 27 20:25:54 UTC 2025


On Sun, 26 Jan 2025 22:58:04 GMT, Tim Jacomb <duke at openjdk.org> wrote:

>> test/jdk/java/security/KeyStore/CheckMacOSKeyChainIntermediateCATrust.java line 166:
>> 
>>> 164:     private static void assertThat(boolean expected, String message, List<X509Certificate> certificates) {
>>> 165:         if (!expected) {
>>> 166:             throw new AssertionError(message + ", subjects: " + getSubjects(certificates));
>> 
>> I do not like printing all KeyChain certificates on the failure. It could be sensitive information.
>> 
>> If you do not collect all certificates, the test could be simplified - without Stream API
>
> Without this its harder to debug what went wrong, this tells you what subjects are found, its not the certificate itself, just e.g. 
> 
> 
> java.lang.AssertionError: Non trusted CA not found CN=Non Trusted Example CA,O=Example,C=US, subjects: [ CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL, CN=TIMJA-INTERMEDIATE,O=TIMJA,ST=ES,C=UK, CN=TIMJA-INTERMEDIATE-2,O=TIMJA,ST=ES,C=UK, CN=TIMJA-ROOT,O=TIMJA,ST=ES]

I understand the reason for the test development, but I am still concerned about printing this information.
Is it possible it will be disabled by default but could be enabled from the cmdline or changing the source code?
`
    static boolean verbose = false; // avoid too verbose output
`

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/22911#discussion_r1931137722


More information about the security-dev mailing list