RFR: 8347938: Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings [v12]

Weijun Wang weijun at openjdk.org
Fri Jan 23 14:49:12 UTC 2026


> The private key encoding formats of ML-KEM and ML-DSA are updated to match the latest IETF drafts at: https://datatracker.ietf.org/doc/html/draft-ietf-lamps-dilithium-certificates-11 and https://datatracker.ietf.org/doc/html/draft-ietf-lamps-kyber-certificates-10. New security/system properties are introduced to determine which CHOICE a private key is encoded when a new key pair is generated or when `KeyFactory::translateKey` is called.
> 
> By default, the choice is "seed".
> 
> Both the encoding and the expanded format are stored inside a `NamedPKCS8Key` now. When loading from a PKCS #8 key, the expanded format is calculated from the input if it's seed only.

Weijun Wang has updated the pull request incrementally with one additional commit since the last revision:

  grammar; no more 8347941

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24969/files
  - new: https://git.openjdk.org/jdk/pull/24969/files/3ffc5362..91894fc6

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24969&range=11
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24969&range=10-11

  Stats: 11 lines in 6 files changed: 0 ins; 0 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/24969.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24969/head:pull/24969

PR: https://git.openjdk.org/jdk/pull/24969


More information about the security-dev mailing list