| JavaTM Cryptography Extension (JCE) 1.2.2 |
|
This document lists the major changes and enhancements since the JCE 1.2 release. The current release, JCE 1.2.2, is a maintenance release of JCE 1.2.1. There are no new methods and classes in JCE 1.2.2. For easy reference, this document is divided into the following sections:
Bug Fixes and Changes in JCE 1.2.2
Here is a list of major bug fixes/changes and their descriptions:
JCE has changed its signed jar verification routine to accept signed jars with legitimate certificates even if the certificate has expired. As a result, JCE services will not be disrupted even if the signer's certificate for a JCE provider has expired. Depending on how providers register their implementations, provider lookup may return an implementation from a less-preferred provider. This error has been fixed so that provider lookup decision is solely based on the preference orders. When verifying providers, JCE failed to correctly verify the provider certificate chain. JCE used to read in the two jurisdiction policy files using the default encoding scheme. Since the two jurisdiction policy files are always encoded in UTF-8, JCE is modified to use UTF-8 regardless of the default. Cipher.update(byte[] input, int offset, int len)threw aNullPointerExceptionincorrectly when the input data is too short to result in a new block.The HmacSHA1andHmacMD5implementation in "SunJCE" provider did not produce the correct MAC result if the key length is between 33 and 63 bytes.The DESedeParametersimplementation in "SunJCE" provider threw anArrayIndexOutOfBoundsExceptionif an 0-length byte array is specified in itsinit()calls. Now, anIOExceptionis thrown in place ofArrayIndexOutOfBoundsExceptionas specified in the API documentation."SunJCE" provider now returns 112as the key size for all DESede keys since that is the effective key length for DESede keys.Clarified the javax.crypto.Cipherandjavax.crypto.CipherSpiAPI documentation.Fixed errors in API documentation.
The major new feature in JCE 1.2.1 is the exportability, as described in the section New Features. A few new methods and classes have been added in JCE 1.2.1.
This document is divided into the following sections:
Note for Cryptographic Service Providers (CSPs, also known as "providers"): The document How to Implement a Provider for JavaTM Cryptography Extension 1.2.2 contains information about how to ensure your provider will work with the JCE 1.2.2 framework.
Justification: Customer request.
Note for CSPs: Added corresponding SPI class javax.crypto.ExemptionMechanismSpi.
Note: The SunJCE provider does not provide an implementation for this class.
Justification: Customer request.
Note for CSPs: Added corresponding SPI methods engineWrap(java.security.Key key) and engineUnwrap(byte[] wrappedKey) in javax.crypto.CipherSpi.
Justification: Customer request.
Justification: To enforce jurisdiction policies, the JCE needs to know the key size. The CipherSpi class is the best place to add this method. Note: This is a protected SPI method. There is no corresponding API method.
Note for CSPs: This method must be overridden by the CSP if the CSP may be exported to a country whose government mandates cryptographic restrictions. For such a country, a JCE 1.2.2 framework vendor may create a download bundle that includes jurisdiction policy files that specify required cryptographic restrictions. Users in that country could download the bundle, and the JCE 1.2.2 framework will enforce the specified restrictions. Such enforcement requires calls to engineGetKeySize.
|
Unless otherwise licensed, code in all |
|