Upgrade to post-quantum ready TLS

Proprietary

The single transformation entry point for post-quantum TLS readiness. Moves a repository off the end-of-life jdk15on BouncyCastle artifacts onto a hybrid-capable bctls, raises the protocol floor to TLS 1.3, and offers an ML-KEM hybrid key-exchange group first wherever groups are pinned. Run BuildPqcReadinessInventory first: this recipe cannot reach configuration held outside the repository, and the sites it deliberately skips are visible only in its data tables. It also cannot upgrade the runtime, which is the other half of the job — JEP 527 hybrid key exchange exists on JDK 27 and later only.

io.moderne.cryptography.pqc.UpgradeToPqcReadyTls
mod run . --recipe=io.moderne.cryptography.pqc.UpgradeToPqcReadyTls

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.

Recipe list

It runs these recipes, in this order.

  1. Change Maven dependency org.bouncycastle:bcprov-jdk15on
  2. Change Maven dependency org.bouncycastle:bctls-jdk15on
  3. Change Maven dependency org.bouncycastle:bcpkix-jdk15on
  4. Change Gradle dependency org.bouncycastle:bcprov-jdk15on
  5. Change Gradle dependency org.bouncycastle:bctls-jdk15on
  6. Change Gradle dependency org.bouncycastle:bcpkix-jdk15on
  7. Upgrade Maven dependency version org.bouncycastle:bc*-jdk18on:1.81
  8. Upgrade Gradle dependency versions org.bouncycastle:bc*-jdk18on
  9. Enforce a TLS 1.3 floor
  10. Enable hybrid TLS key exchange