RFR: 8242068: Signed JAR support for RSASSA-PSS and EdDSA

Weijun Wang weijun at openjdk.java.net
Wed Sep 23 14:49:26 UTC 2020


Major points in CSR at https://bugs.openjdk.java.net/browse/JDK-8245274:

- new sigalg "RSASSA-PSS", "EdDSA", "Ed25519" and "Ed448" can be used in jarsigner

- The ".RSA" and ".EC" block extension types (PKCS #7 SignedData inside a signed JAR) are reused for new signature
  algorithms

- A new JarSigner property "directsign"

- Updating the jarsigner tool doc

Major code changes:

- Always use the signature algorithm directly as SignerInfo::signatureAlgorithm. We used to use the encryption algorithm
  there like RSA, DSA, and EC. Now it's always SHA1withRSA or RSASSA-PSS.

- Move signature related utilities methods from AlgorithmId.java to SignatureUtil.java

- Add new SignatureUtil methods fromKey() and fromSignature() to simplify creating Signature and getting its AlgorithmId

- Use the new methods in PKCS10, X509CertImpl, and X509CRLImpl signing

- Add a new (and intuitive, IMHO) PKCS7::generateNewSignedData capable of all old and new signature algorithms

- Mark all -altsign related code deprecated and they can be removed once ContentSigner is removed

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

Commit messages:
 - 8242068: Signed JAR support for RSASSA-PSS and EdDSA

Changes: https://git.openjdk.java.net/jdk/pull/322/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=322&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8242068
  Stats: 1641 lines in 20 files changed: 930 ins; 548 del; 163 mod
  Patch: https://git.openjdk.java.net/jdk/pull/322.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/322/head:pull/322

PR: https://git.openjdk.java.net/jdk/pull/322


More information about the core-libs-dev mailing list