RFR: 8365820: Apply certificate scope constraints to algorithms in "signature_algorithms" extension when "signature_algorithms_cert" extension is not being sent [v5]

Hai-May Chao hchao at openjdk.org
Wed Sep 10 15:45:09 UTC 2025


On Tue, 26 Aug 2025 19:09:03 GMT, Artur Barashev <abarashev at openjdk.org> wrote:

>> [JDK-8349583](https://bugs.openjdk.org/browse/JDK-8349583) implementation assumes that OpenJDK client always sends "signature_algorithms_cert" extension together with "signature_algorithms" extension. But we didn't account for `jdk.tls.client.disableExtensions` and `jdk.tls.server.disableExtensions` system properties which can disable producing "signature_algorithms_cert" extension. This is an issue similar to [JDK-8355779](https://bugs.openjdk.org/browse/JDK-8355779) but on the extension producing side.
>> 
>> Per TLSv1.3 RFC:
>> 
>>>  If no "signature_algorithms_cert" extension is
>>>    present, then the "signature_algorithms" extension also applies to
>>>    signatures appearing in certificates.
>> 
>> Also making a few cosmetic changes to the existing code.
>
> Artur Barashev has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add a server-side unit test. Rename existing tests.

src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java line 551:

> 549:             sigAlgs.retainAll(hc.localSupportedCertSignAlgs);
> 550:         }
> 551: 

The `sigAlgs` may include handshake scope and certificate scope. Suggest to add a debug log to list the produced signature algorithms.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26887#discussion_r2337181121


More information about the security-dev mailing list