Conversation
10bf50f to
123d3a9
Compare
...-client/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtConfigurationUtils.java
Show resolved
Hide resolved
Java CRT 0.39.3 enables and prefers PQ by default, so `TLS_CIPHER_SYSTEM_DEFAULT` now uses PQ cipher suites. The `postQuantumTlsEnabled` builder option in aws-sdk-java-v2 now becomes an opt-out mechanism; setting it to false explicitly disables PQ by using policy `TLS_CIPHER_PREF_TLSv1_0_2023`.
ffa362d to
2c652cc
Compare
zoewangg
left a comment
There was a problem hiding this comment.
Can we update the javadoc for postQuantumTlsEnabled? https://github.com/aws/aws-sdk-java-v2/blob/master/http-clients/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java#L239
| // below if the caller explicitly disables PQ by passing in false. | ||
| if (Boolean.FALSE.equals(postQuantumTlsEnabled) | ||
| && TlsCipherPreference.TLS_CIPHER_PREF_TLSv1_0_2023.isSupported()) { | ||
| return TlsCipherPreference.TLS_CIPHER_PREF_TLSv1_0_2023; |
There was a problem hiding this comment.
It seems this policy may get outdated in the future. Can we create a non-PQTLS default TLS policy that always uses the latest TLS versions?
There was a problem hiding this comment.
Unfortunately we can't enforce a minimum TLS version higher than this due to some SDKs (IoT, some others) requiring TLS 1.0 support for the foreseeable future.
There was a problem hiding this comment.
That's totally fine. I'm proposing creating a new TlsCipherPreference that always links to the recommended non-PQTLS preference, for now, it's TLS_CIPHER_PREF_TLSv1_0_2023, which may change in the future and when we change it, we just need to change CRT code and don't have to update the code in the SDK
There was a problem hiding this comment.
understood, and i agree that's a useful abstraction. does this concern block the current PR? i'd be happy to take this up as a follow-on. it would require an upstream CRT change + release.
There was a problem hiding this comment.
Apologies for the delay, it dropped off my radar for some reason. Yes, I'd prefer to get those upstream changes released first
There was a problem hiding this comment.
you got it. PRs for:
I'll return this PR to draft status until those have been merged and aws-crt-java dependency version has been bumped.
Status
This PR is currently in draft status until aws-crt-java PR #975 has been merged/released and its dependency version has been bumped in this PR.
Notes
Java CRT 0.39.3 enables and prefers PQ by default, so
TLS_CIPHER_SYSTEM_DEFAULTnow uses PQ cipher suites. ThepostQuantumTlsEnabledbuilder option in aws-sdk-java-v2 now becomes an opt-out mechanism; setting it to false explicitly disables PQ by using policyTLS_CIPHER_PREF_TLSv1_0_2023.Testing
Types of changes
Checklist
mvn installsucceedsscripts/new-changescript and following the instructions. Commit the new file created by the script in.changes/next-releasewith your changes.License