Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ssl-config uses sun.security - which breaks in JDK 20 plus.
#367
While many of the deprecated sun.* libraries have a counterpart, the X509Certificate doesn't.
https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/security/cert/X509Certificate.html
It's an abstract class, building a certificate isn't possible (as far as I know :) ).
Given that Play Framework and other projects rely on ssl-config, the path of "minimal pain" is to use bouncy castles JCA classes to create a drop-in replacement for the Fake TLS certificate generations.
The remaining commits remove all
@Deprecated
methods / classes / ... and try to update the project to a releasable new version.There is a gotcha regarding Scala support, which I cannot fix as my Scala knowledge is pretty minimal:
com/typesafe/sslconfig/ssl/Config.scala
utilizesscala.language.existentials
which got removed in Scala 3.The test fails for the class, though I'm not entirely sure if the lack of existentials in Scala 3 is the problem or sth else.
I published the generated artifacts locally and the Playframework 2.9 tests ran successfully.