RFR: 8342062: Reformat keytool and jarsigner output for keys with a named parameter set [v5]

Weijun Wang weijun at openjdk.org
Fri Jan 10 01:01:28 UTC 2025


> Traditionally, an asymmetric key has a key size. The size is displayed by `keytool` and `jarsigner`, both in informational output and weak-key warnings. However, for the recently added ML-DSA algorithm, key size is not defined.
> 
> Thus when an ML-DSA key is created, `keytool` shows
> 
> Generating -1 bit ML-DSA-65 key pair...
> 
> When the entry is being displayed by `keytool -list -v`, it shows
> 
> Subject Public Key Algorithm: -1-bit ML-DSA-65 key
> 
> If the algorithm is disabled, `keytool -list` shows
> 
> <x> uses a -1-bit ML-DSA-65 key which is considered a security risk...
> 
> Furthermore, if a JAR file is signed by ML-DSA, `jarsigner -verify` also shows
> 
> Signature algorithm: ML-DSA-65, unknown size
> 
> or when the algorithm is disabled, it shows
> 
> Signature algorithm: ML-DSA-65, -1-bit key (disabled)
> The ML-DSA-65 signing key has a keysize of -1 which is considered a security risk.
> 
> 
> With this code change, a key can either has a key size, or characterized by a `NamedParameterSpec`, and the display chooses one of them.
> 
> One special case is EC keys, which have both a keysize and a `NamedParameterSpec`. Both are displayed.

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

  one missing year change

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22735/files
  - new: https://git.openjdk.org/jdk/pull/22735/files/faacc337..e08c8ffd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22735&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22735&range=03-04

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/22735.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22735/head:pull/22735

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


More information about the security-dev mailing list