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