RFR: 8044609: javax.net.debug options not working and documented as expected [v27]

Sean Coffey coffeys at openjdk.org
Wed Feb 4 16:03:36 UTC 2026


On Fri, 30 Jan 2026 23:36:46 GMT, Bradford Wetmore <wetmore at openjdk.org> wrote:

>> Sean Coffey has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Review comments from Brad
>
> src/java.base/share/classes/sun/security/ssl/CertificateMessage.java line 1026:
> 
>> 1024:                             ka, hc.negotiatedProtocol) != null
>> 1025:                             || SSLLogger.logWarning(SSLLogger.Opt.HANDSHAKE,
>> 1026:                                     "Unable to produce CertificateVerify for key algorithm: " + ka))
> 
> Nitty nit nit:  might as well take care of the <80 here too.  Esp line1021.  ;)    
> 
> Had to vertically scroll just to see the line in side-by-side.  Thanks!
> 
> There were a few others where things got a bit long (e.g. `SessionTicketExtension`, `SSLCipher`), and noticed a couple really egregious existing ones.  I'll probably take care of them when I get to the category bug.
> 
> (P.S.  Thank you for doing that in `CertificateRequest.java`!)

Sure - cleaned up around 1021. A lot of the wide line code is already pre-existing.  might be no harm to fix up in follow on.

> src/java.base/share/classes/sun/security/ssl/SSLLogger.java line 239:
> 
>> 237:                 " all non-widening filters are enabled.%n%n");
>> 238:         System.err.printf("%nAdding valid filter options to \"ssl\" will log" +
>> 239:                 " messages to include%njust those filtered categories.%n");
> 
> So the intended behavior is the following:  
> 
> If we have code like this:
> 
>> if (SSLLogger.isOn() && SSLLogger.isOn(SSLLogger.Opt.SSL)) {
> 
> then setting `javax.net.debug=ssl` or `ssl,trustmanager`, it will always output this logging statement.  
> 
> But if we have code like this:
> 
>> if (SSLLogger.isOn() && SSLLogger.isOn(SSLLogger.Opt.TRUSTMANAGER)) {
> 
> then `javax.net.debug=ssl` will output this (because only `ssl` was enabled), but `javax.net.debug=ssl,keymanager` will not.  That's because `keymanager` is a valid name, thus only the `SSL` and `KEYMANAGER` options will print).  
> 
> So we need to make sure that everything `SSL` and non-`SSL` is categorized correctly, which will be the focus of [JDK-8344158](https://bugs.openjdk.org/browse/JDK-8344158).
> 
> The wording here needs a slight update, and I'm not quite sure how to word this.  Ideas?  :) 
> 
>     Adding valid filter options to ssl will output the high-level SSL/TLS debug 
>     messages, plus only those messages in the specified categories.

yes, that's the logic in use now. The sub-component options need to be regarded as filters.

regards the wording, it's hard to chose the best description. What's there accurate in some respect.
How about:

`Specifying filter options with "ssl" includes messages for the selected categories, as well as all general SSL debug messages.`

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18764#discussion_r2764744810
PR Review Comment: https://git.openjdk.org/jdk/pull/18764#discussion_r2764743889



More information about the security-dev mailing list