Hello all,

I've updated the fix to 8076999 with the following changes:

 * We now use sun.security.x509.AlgorithmId and it internally uses
   AlgorithmParameters implementations to handle the DER encoding and
   decoding of encryption scheme parameters.
     o This means that we need to add one new standard name and some
       OID aliases for some AlgorithmParameters.  See the CSR link
       below for details.
 * Added a new RC5Parameter AlgorithmParameters implementation to
   SunJCE, plus unit tests.

CSR: https://bugs.openjdk.java.net/browse/JDK-8221936

Bug: https://bugs.openjdk.java.net/browse/JDK-8076999

Webrev: http://cr.openjdk.java.net/~jnimeh/reviews/8076999/webrev.02


On 5/24/2019 3:51 PM, Jamil Nimeh wrote:

Hello all, happy Friday!

Please review the following CSR and code review.  This makes updates to the SunJCE implementation of PBES2-based AlgorithmParameters.  Many of the details are in the CSR (see the link below).  But a short list of the updates:

  * Add DER Encode/Decode support for the following OIDS from RFC 8018:
      o PRFs: HmacSHA512/224, HmacSHA512/256
      o Encryption Schemes: AES-192-CBC, DES, Triple-DES, RC2, RC5
  * Enforce init-time type consistency between AlgorithmParameterSpec
    objects and the algorithms they are used with (i.e. No using
    RC5ParameterSpec with AES-128-CBC.
  * Enforce sanity checks on AlgorithmParameterSpec objects used to
    init (e.g. IV length checks, integer range checks, etc.)
  * Fixed a bug where explicit DER decoding of the optional key length
    field in PBKDF2-params would cause the PRF to be forced to
    HmacSHA1 even if the DER indicated otherwise
  * Allow incoming DER encoded AlgorithmIdentifier structures to honor
    the OPTIONAL qualifier on the parameters field for both PRFs and
    Encryption Schemes.
  * If a null encryption scheme AlgorithmParameterSpec is provided
    during init time, omit the PBES2-params.encryptionScheme's
    parameter segment since it is OPTIONAL per the ASN.1 from RFC 5280

More details are in the CSR.

CSR: https://bugs.openjdk.java.net/browse/JDK-8221936

Bug: https://bugs.openjdk.java.net/browse/JDK-8076999

Webrev: http://cr.openjdk.java.net/~jnimeh/reviews/8076999/webrev.01/

--Jamil



Reply via email to