📄 releasenotes.html
字号:
<li>Another regression which sometimes affected the SMIMESignedParser has also been fixed.</li><li>SharedFileInputStream compatibility issues with JavaMail 1.4 have been addressed.</li><li>JDK 1.5 and later KeyFactory now accepts ECPublicKey/ECPrivateKey to translateKey.</li><li>JDK 1.5 and later KeyFactory now produces ECPublicKeySpec/ECPrivateKeySpec on getKeySpec.</li><li>Some surrogate pairs were not assembled correctly by the UTF8 decoder. This has been fixed.</li><li>Alias resolution in PKCS#12 is now case insensitive.</li></ul><h3>2.7.3 Additional Features and Functionality</h3><ul><li>CMS/SMIME now supports basic EC KeyAgreement with X9.63.</li><li>CMS/SMIME now supports RFC 3211 password based encryption.</li><li>Support has been added for certificate, CRL, and certification request generation for the regular SHA algorithms with RSA-PSS.</li><li>Further work has been done in speeding up prime number generation in the lightweight BigInteger class.</li><li>Support for the SEED algorithm has been added to the provider and the lightweight API.</li><li>Support for the Salsa20 algorithm has been added to the provider and the lightweight API.</li><li>CMS/SMIME now support SEED and Camellia</li><li>A table of TeleTrusT curves has been added.</li><li>CMSSignedData creation and Collection CertStore now preserves the order of certificates/CRls if the backing collection is ordered.</li><li>CMS Signed objects now use BER encoding for sets containing certificates and CRLs, allowing specific ordering to be specified for the objects contained.</li><li>CMS enveloped now works around providers which throw UnsupportedOperationException if key wrap is attempted.</li><li>DSASigner now handles long messages. SHA2 family digest support for DSA has been added to the provider.</li></ul><h3>2.8.1 Version</h3>Release 1.35<h3>2.8.2 Defects Fixed</h3><ul><li>Test data files are no longer in the provider jars.</li><li>SMIMESignedParser now handles indefinite length data in SignerInfos.</li><li>Under some circumstances the SMIME library was failing to canonicalize mixed-multipart data correctly. This has been fixed.</li><li>The l parameter was being ignored for the DH and ElGamal key generation. This has been fixed.</li><li>The ASN1Sequence constructor for OtherRecipientInfo was broken. It has been fixed</li><li>Regression - DN fields SerialNumber and Country were changed to encode as UTF8String in 1.34 in the X509DefaultEntryConverter, these now encode as PrintableString.</li><li>CMSSignedData.replaceSigners() was not replacing the digest set as well as the signers. This has been fixed.</li><li>DERGeneralizedTime produced a time string without a GMT offset if they represented local time. This has been fixed.</li><li>Some temp files were still being left on Windows by the SMIME library. All of the known problems have been fixed.</li><li>Comparing ASN.1 object for equality would fail in some circumstances. This has been fixed.<li>The IESEngine could incorrectly encrypt data when used in block cipher mode. This has been fixed.<li>An error in the encoding of the KEKRecipientInfo has been fixed. Compatability warning: this may mean that versions of BC mail prior to 1.35 will have trouble processing KEK messages produced by 1.35 or later.</ul><h3>2.8.3 Additional Features and Functionality</h3><ul><li>Further optimisations to elliptic curve math libraries.</li><li>API now incorporates a CertStore which should be suitable for use with LDAP.</li><li>The streaming ASN.1 API is now integrated into the base one, the sasn1 package has been deprecated.</li><li>The OpenPGP implementation now supports SHA-224 and BZIP2.</li><li>The OpenPGP implementation now supports SHA-1 checksumming on secret keys.</li><li>The JCE provider now does RSA blinding by default.</li><li>CMSSignedDataParser now provides methods for replacing signers and replacing certificates and CRLs.</li><li>A generic store API has been added to support CRLs, Certificates and Attribute certificates.</li><li>The CMS/SMIME API now supports inclusion and retrieval of version 2 attribute certificates.</li><li>Support for generating CertificationRequests and Certificates has been added for GOST-3410-2001 (ECGOST)</li><li>CMS/SMIME now support ECGOST</li><li>Basic BER Octet Strings now encode in a canonical fashion by default.</li><li>DERUTCTime can now return Date objects</li><li>Validating constructors have been added to DERPrintableString, DERIA5String, and DERNumericString.</li><li>A lightweight API for supporting TLS has been added.</li><li>Implementations of the TEA and XTEA ciphers have been added to the light weight API and the provider.</li><li>PEMReader now supports OpenSSL ECDSA key pairs.</li><li>PGP packet streams can now be closed off using close() on the returned stream as well as closing the generator.</li></ul><h3>2.9.1 Version</h3>Release 1.34<h3>2.9.2 Defects Fixed</h3><ul><li>Endianess of integer conversion in KDF2BytesGenerator was incorrect. This has been fixed.<li>Generating critical signature subpackets in OpenPGP would result in a zero packet tag. This has been fixed.<li>Some flags in PKIFailure info were incorrect, and the range of values was incomplete. The range of values has been increased and the flags corrected.<li>The helper class for AuthorityKeyExtension generation was including the subject rather than the issuer DN of the CA certificate. This has been fixed.<li>SMIMESignedParser now avoids JavaMail quoted-printable recoding issue.<li>Verification of RSA signatures done with keys with public exponents of 3 was vunerable toBleichenbacher's RSA signature forgery attack. This has been fixed.<li>PGP Identity strings were only being interpreted as ASCII rather than UTF8. This has been fixed.<li>CertificateFactory.generateCRLs now returns a Collection rather than null.</ul><h3>2.9.3 Additional Features and Functionality</h3><ul><li>An ISO18033KDFParameters class had been added to support ISO18033 KDF generators.<li>An implemention of the KDF1 bytes generator algorithm has been added.<li>An implementation of NaccacheStern encryption has been added to the lightweight API.<li>X509V2CRLGenerator can now be loaded from an existing CRL.<li>The CMS enveloped data generators will now attempt to use the default provider for encryption if the passed in provider can only handle key exchange.<li>OpenPGP file processing has been substantially speeded up.<li>The PKCS1Encoder would accept PKCS1 packets which were one byte oversize. By default this will now cause an error. However, as there are still implementations which still produce such packets the older behaviour can be turned on by setting the VM system property org.bouncycastle.pkcs1.strict to false before creating an RSA cipher using PKCS1 encoding.<li>A target has been added to the bc-build.xml to zip up the source code rather than leaving it in a directory tree.The build scripts now run this target by default.<li>Use of toUpperCase and toLowerCase has been replaced with a locale independent converter where appropriate.<li>Support for retrieving the issuers of indirect CRLs has been added.<li>Classes for doing incremental path validation of PKIX cert paths have been added to the X.509 package and S/MIME.<li>Locale issues with String.toUpperCase() have now been worked around.<li>Optional limiting has been added to ASN1InputStream to avoid possible OutOfMemoryErrors on corrupted streams.<li>Support has been added for SHA224withECDSA, SHA256withECDSA, SHA384withECDSA, and SHA512withECDSA for the generation of signatures, certificates, CRLs, and certification requests.<li>Performance of the prime number generation in the BigInteger library has been further improved.<li>In line with RFC 3280 section 4.1.2.4 DN's are now encoded using UTF8String by default rather than PrintableString.</ul><h3>2.9.5 Security Advisory</h3><ul><li>If you are using public exponents with the value three you *must* upgrade to this release, otherwise itwill be possible for attackers to exploit some of Bleichenbacher's RSA signature forgery attacks on your applications.</ul><h3>2.10.1 Version</h3>Release 1.33<h3>2.10.2 Defects Fixed</h3><ul><li>OCSPResponseData was including the default version in its encoding. This has been fixed.<li>BasicOCSPResp.getVersion() would throw a NullPointer exception if called on a default version response. This has been fixed.<li>Addition of an EC point under Fp could result in an ArithmeticException. This has been fixed.<li>The n value for prime192v2 was incorrect. This has been fixed.<li>ArmoredInputStream was not closing the underlying stream on close. This has been fixed.<li>Small base64 encoded strings with embedded white space could decode incorrectly using the Base64 class. This has been fixed.</ul><h3>2.10.3 Additional Features and Functionality</h3><ul><li>The X509V2CRLGenerator now supports adding general extensions to CRL entries.<li>A RoleSyntax implementation has been added to the x509 ASN.1 package, and the AttributeCertificateHolder class now support the IssuerSerial option.<li>The CMS API now correctly recognises the OIW OID for DSA with SHA-1.<li>DERUTF8String now supports surrogate pairs.</ul><h3>2.11.1 Version</h3>Release 1.32<h3>2.11.2 Defects Fixed</h3><ul><li>Further work has been done on RFC 3280 compliance.<li>The ASN1Sequence constructor for SemanticsInformation would sometimes throw a ClassCastException on reconstruction an object from a byte stream. This has been fixed.<li>The SharedInputStream.read(buf, 0, len) method would return 0 at EOF, rather than -1. This has been fixed.<li>X9FieldElement could fail to encode a Fp field element correctly. This has been fixed.<li>The streaming S/MIME API was occasionally leaving temporary files around. The SIMEUtil class responsible for creating the files now returns a FileBackedMimeBodyPart objectwhich has a dispose method on it which should allow removal of the file backing the body part.<li>An encoding defect in EnvelopedData generation in the CMS streaming, S/MIME API has been fixed.<li>DER constructed octet strings could cause exceptions in the streaming ASN.1 library. This has been fixed.<li>Several compatibility issues connected with EnvelopedData decoding between the streaming CMS library and other libraries have been fixed.<li>JDK 1.4 and earlier would sometimes encode named curve parameters explicitly. This has been fixed.<li>An incorrect header for SHA-256 OpenPGP clear text signatures has been fixed.<li>An occasional bug that could result in invalid clear text signatures has been fixed.<li>OpenPGP clear text signatures containing '\r' as line separators were not being correctly canonicalized. This has been fixed.</ul><h3>2.11.3 Additional Features and Functionality</h3><ul><li>The ASN.1 library now includes classes for the ICAO Electronic Passport.<li>Support has been added to CMS and S/MIME for ECDSA.<li>Support has been added for the SEC/NIST elliptic curves.<li>Support has been added for elliptic curves over F2m.<li>Support has been added for repeated attributes in CMS and S/MIME messages.<li>A wider range of RSA-PSS signature types is now supported for CRL and Certificate verification.</ul><h3>2.11.4 Possible compatibility issue</h3><ul><li>Previously elliptic curve keys and points were generated with point compression enabled by default.Owing to patent issues in some jurisdictions, they are now generated with point compression disabled by default.</ul><h3>2.12.1 Version</h3>Release 1.31<h3>2.12.2 Defects Fixed</h3><ul><li>getCriticalExtensionOIDs on an X.509 attribute certificate was returning the non-critical set. This has been fixed.<li>Encoding uncompressed ECDSA keys could occasionally introduce an extra leading zero byte. This has been fixed.<li>Expiry times for OpenPGP master keys are now recognised across the range of possible certifications.<li>PGP 2 keys can now be decrypted by the the OpenPGP library.<li>PGP 2 signature packets threw an exception on trailer processing. This has been been fixed.<li>Attempting to retrieve signature subpackets from an OpenPGP version 3 signature would throw a null pointer exception. This has been fixed.<li>Another occasional defect in EC point encoding has been fixed.<li>In some cases AttributeCertificateHolder.getIssuer() would return an empty array for attribute certificates using the BaseCertificateID.This has been fixed.<li>OIDs with extremely large components would sometimes reencode with unnecessary bytes in their encoding. The optimal DER encoding will now be produced instead.</ul><h3>2.12.3 Additional Features and Functionality</h3><ul><li>The SMIME package now supports the large file streaming model as well.<li>Additional ASN.1 message support has been added for RFC 3739 in the org.bouncycastle.x509.qualified package.<li>Support has been added for Mac algorithm 3 from ISO 9797 to both the lightweight APIs and the provider.<li>The provider now supports the DESEDE64 MAC algorithm.<li>CertPathValidator has been updated to better support path validation as defined in RFC 3280.</ul><h3>2.13.1 Version</h3>Release 1.30<h3>2.13.2 Defects Fixed</h3><ul><li>Whirlpool was calculating the wrong digest for 31 byte data and could throw an exception for some other data lengths. This has been fixed.<li>AlgorithmParameters for IVs were returning a default of RAW encoding of the parameters when they should have been returning anASN.1 encoding. This has been fixed.<li>Base64 encoded streams without armoring could cause an exception in PGPUtil.getDecoderStream(). This has been fixed.<li>PGPSecretKey.copyWithNewPassword() would incorrectly tag sub keys. This has been fixed.<li>PGPSecretKey.copyWithNewPassword() would not handle the NULL algorithm. This has been fixed.<li>Directly accessing the dates on an X.509 Attribute Certificate constructed from an InputStream would return null, not the date objects. This has been fixed.<li>KEKIdentifier would not handle OtherKeyAttribute objects correctly. This has been fixed.<li>GetCertificateChain on a PKCS12 keystore would return a single certificate chain rather than null if the alias passed in represented a certificate not a key. This has been fixed.</ul><h3>2.13.3 Additional Features and Functionality</h3><ul><li>RSAEngine no longer assumes keys are byte aligned when checking for out of range input.<li>PGPSecretKeyRing.removeSecretKey and PGPSecretKeyRing.insertSecretKey have been added.<li>There is now a getter for the serial number on TimeStampTokenInfo.<li>Classes for dealing with CMS objects in a streaming fashion have been added to the CMS package.<li>PGPCompressedDataGenerator now supports partial packets on output.<li>OpenPGP Signature generation and verification now supports SHA-256, SHA-384, and SHA-512.<li>Both the lightweight API and the provider now support the Camellia encryption algorithm.</ul><h3>2.14.1 Version</h3>Release 1.29<h3>2.14.2 Defects Fixed</h3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -