xref: /onnv-gate/usr/src/common/openssl/NEWS (revision 0:68f95e015346)
1*0Sstevel@tonic-gate
2*0Sstevel@tonic-gate  NEWS
3*0Sstevel@tonic-gate  ====
4*0Sstevel@tonic-gate
5*0Sstevel@tonic-gate  This file gives a brief overview of the major changes between each OpenSSL
6*0Sstevel@tonic-gate  release. For more details please read the CHANGES file.
7*0Sstevel@tonic-gate
8*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d:
9*0Sstevel@tonic-gate
10*0Sstevel@tonic-gate      o Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug
11*0Sstevel@tonic-gate      o Security: Fix null-pointer assignment in do_change_cipher_spec()
12*0Sstevel@tonic-gate      o Allow multiple active certificates with same subject in CA index
13*0Sstevel@tonic-gate      o Multiple X590 verification fixes
14*0Sstevel@tonic-gate      o Speed up HMAC and other operations
15*0Sstevel@tonic-gate
16*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c:
17*0Sstevel@tonic-gate
18*0Sstevel@tonic-gate      o Security: fix various ASN1 parsing bugs.
19*0Sstevel@tonic-gate      o New -ignore_err option to OCSP utility.
20*0Sstevel@tonic-gate      o Various interop and bug fixes in S/MIME code.
21*0Sstevel@tonic-gate      o SSL/TLS protocol fix for unrequested client certificates.
22*0Sstevel@tonic-gate
23*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b:
24*0Sstevel@tonic-gate
25*0Sstevel@tonic-gate      o Security: counter the Klima-Pokorny-Rosa extension of
26*0Sstevel@tonic-gate        Bleichbacher's attack
27*0Sstevel@tonic-gate      o Security: make RSA blinding default.
28*0Sstevel@tonic-gate      o Configuration: Irix fixes, AIX fixes, better mingw support.
29*0Sstevel@tonic-gate      o Support for new platforms: linux-ia64-ecc.
30*0Sstevel@tonic-gate      o Build: shared library support fixes.
31*0Sstevel@tonic-gate      o ASN.1: treat domainComponent correctly.
32*0Sstevel@tonic-gate      o Documentation: fixes and additions.
33*0Sstevel@tonic-gate
34*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a:
35*0Sstevel@tonic-gate
36*0Sstevel@tonic-gate      o Security: Important security related bugfixes.
37*0Sstevel@tonic-gate      o Enhanced compatibility with MIT Kerberos.
38*0Sstevel@tonic-gate      o Can be built without the ENGINE framework.
39*0Sstevel@tonic-gate      o IA32 assembler enhancements.
40*0Sstevel@tonic-gate      o Support for new platforms: FreeBSD/IA64 and FreeBSD/Sparc64.
41*0Sstevel@tonic-gate      o Configuration: the no-err option now works properly.
42*0Sstevel@tonic-gate      o SSL/TLS: now handles manual certificate chain building.
43*0Sstevel@tonic-gate      o SSL/TLS: certain session ID malfunctions corrected.
44*0Sstevel@tonic-gate
45*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7:
46*0Sstevel@tonic-gate
47*0Sstevel@tonic-gate      o New library section OCSP.
48*0Sstevel@tonic-gate      o Complete rewrite of ASN1 code.
49*0Sstevel@tonic-gate      o CRL checking in verify code and openssl utility.
50*0Sstevel@tonic-gate      o Extension copying in 'ca' utility.
51*0Sstevel@tonic-gate      o Flexible display options in 'ca' utility.
52*0Sstevel@tonic-gate      o Provisional support for international characters with UTF8.
53*0Sstevel@tonic-gate      o Support for external crypto devices ('engine') is no longer
54*0Sstevel@tonic-gate        a separate distribution.
55*0Sstevel@tonic-gate      o New elliptic curve library section.
56*0Sstevel@tonic-gate      o New AES (Rijndael) library section.
57*0Sstevel@tonic-gate      o Support for new platforms: Windows CE, Tandem OSS, A/UX, AIX 64-bit,
58*0Sstevel@tonic-gate        Linux x86_64, Linux 64-bit on Sparc v9
59*0Sstevel@tonic-gate      o Extended support for some platforms: VxWorks
60*0Sstevel@tonic-gate      o Enhanced support for shared libraries.
61*0Sstevel@tonic-gate      o Now only builds PIC code when shared library support is requested.
62*0Sstevel@tonic-gate      o Support for pkg-config.
63*0Sstevel@tonic-gate      o Lots of new manuals.
64*0Sstevel@tonic-gate      o Makes symbolic links to or copies of manuals to cover all described
65*0Sstevel@tonic-gate        functions.
66*0Sstevel@tonic-gate      o Change DES API to clean up the namespace (some applications link also
67*0Sstevel@tonic-gate        against libdes providing similar functions having the same name).
68*0Sstevel@tonic-gate        Provide macros for backward compatibility (will be removed in the
69*0Sstevel@tonic-gate        future).
70*0Sstevel@tonic-gate      o Unify handling of cryptographic algorithms (software and engine)
71*0Sstevel@tonic-gate        to be available via EVP routines for asymmetric and symmetric ciphers.
72*0Sstevel@tonic-gate      o NCONF: new configuration handling routines.
73*0Sstevel@tonic-gate      o Change API to use more 'const' modifiers to improve error checking
74*0Sstevel@tonic-gate        and help optimizers.
75*0Sstevel@tonic-gate      o Finally remove references to RSAref.
76*0Sstevel@tonic-gate      o Reworked parts of the BIGNUM code.
77*0Sstevel@tonic-gate      o Support for new engines: Broadcom ubsec, Accelerated Encryption
78*0Sstevel@tonic-gate        Processing, IBM 4758.
79*0Sstevel@tonic-gate      o A few new engines added in the demos area.
80*0Sstevel@tonic-gate      o Extended and corrected OID (object identifier) table.
81*0Sstevel@tonic-gate      o PRNG: query at more locations for a random device, automatic query for
82*0Sstevel@tonic-gate        EGD style random sources at several locations.
83*0Sstevel@tonic-gate      o SSL/TLS: allow optional cipher choice according to server's preference.
84*0Sstevel@tonic-gate      o SSL/TLS: allow server to explicitly set new session ids.
85*0Sstevel@tonic-gate      o SSL/TLS: support Kerberos cipher suites (RFC2712).
86*0Sstevel@tonic-gate	Only supports MIT Kerberos for now.
87*0Sstevel@tonic-gate      o SSL/TLS: allow more precise control of renegotiations and sessions.
88*0Sstevel@tonic-gate      o SSL/TLS: add callback to retrieve SSL/TLS messages.
89*0Sstevel@tonic-gate      o SSL/TLS: support AES cipher suites (RFC3268).
90*0Sstevel@tonic-gate
91*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k:
92*0Sstevel@tonic-gate
93*0Sstevel@tonic-gate      o Security: fix various ASN1 parsing bugs.
94*0Sstevel@tonic-gate      o SSL/TLS protocol fix for unrequested client certificates.
95*0Sstevel@tonic-gate
96*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j:
97*0Sstevel@tonic-gate
98*0Sstevel@tonic-gate      o Security: counter the Klima-Pokorny-Rosa extension of
99*0Sstevel@tonic-gate        Bleichbacher's attack
100*0Sstevel@tonic-gate      o Security: make RSA blinding default.
101*0Sstevel@tonic-gate      o Build: shared library support fixes.
102*0Sstevel@tonic-gate
103*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i:
104*0Sstevel@tonic-gate
105*0Sstevel@tonic-gate      o Important security related bugfixes.
106*0Sstevel@tonic-gate
107*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h:
108*0Sstevel@tonic-gate
109*0Sstevel@tonic-gate      o New configuration targets for Tandem OSS and A/UX.
110*0Sstevel@tonic-gate      o New OIDs for Microsoft attributes.
111*0Sstevel@tonic-gate      o Better handling of SSL session caching.
112*0Sstevel@tonic-gate      o Better comparison of distinguished names.
113*0Sstevel@tonic-gate      o Better handling of shared libraries in a mixed GNU/non-GNU environment.
114*0Sstevel@tonic-gate      o Support assembler code with Borland C.
115*0Sstevel@tonic-gate      o Fixes for length problems.
116*0Sstevel@tonic-gate      o Fixes for uninitialised variables.
117*0Sstevel@tonic-gate      o Fixes for memory leaks, some unusual crashes and some race conditions.
118*0Sstevel@tonic-gate      o Fixes for smaller building problems.
119*0Sstevel@tonic-gate      o Updates of manuals, FAQ and other instructive documents.
120*0Sstevel@tonic-gate
121*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g:
122*0Sstevel@tonic-gate
123*0Sstevel@tonic-gate      o Important building fixes on Unix.
124*0Sstevel@tonic-gate
125*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f:
126*0Sstevel@tonic-gate
127*0Sstevel@tonic-gate      o Various important bugfixes.
128*0Sstevel@tonic-gate
129*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e:
130*0Sstevel@tonic-gate
131*0Sstevel@tonic-gate      o Important security related bugfixes.
132*0Sstevel@tonic-gate      o Various SSL/TLS library bugfixes.
133*0Sstevel@tonic-gate
134*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d:
135*0Sstevel@tonic-gate
136*0Sstevel@tonic-gate      o Various SSL/TLS library bugfixes.
137*0Sstevel@tonic-gate      o Fix DH parameter generation for 'non-standard' generators.
138*0Sstevel@tonic-gate
139*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c:
140*0Sstevel@tonic-gate
141*0Sstevel@tonic-gate      o Various SSL/TLS library bugfixes.
142*0Sstevel@tonic-gate      o BIGNUM library fixes.
143*0Sstevel@tonic-gate      o RSA OAEP and random number generation fixes.
144*0Sstevel@tonic-gate      o Object identifiers corrected and added.
145*0Sstevel@tonic-gate      o Add assembler BN routines for IA64.
146*0Sstevel@tonic-gate      o Add support for OS/390 Unix, UnixWare with gcc, OpenUNIX 8,
147*0Sstevel@tonic-gate        MIPS Linux; shared library support for Irix, HP-UX.
148*0Sstevel@tonic-gate      o Add crypto accelerator support for AEP, Baltimore SureWare,
149*0Sstevel@tonic-gate        Broadcom and Cryptographic Appliance's keyserver
150*0Sstevel@tonic-gate        [in 0.9.6c-engine release].
151*0Sstevel@tonic-gate
152*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b:
153*0Sstevel@tonic-gate
154*0Sstevel@tonic-gate      o Security fix: PRNG improvements.
155*0Sstevel@tonic-gate      o Security fix: RSA OAEP check.
156*0Sstevel@tonic-gate      o Security fix: Reinsert and fix countermeasure to Bleichbacher's
157*0Sstevel@tonic-gate        attack.
158*0Sstevel@tonic-gate      o MIPS bug fix in BIGNUM.
159*0Sstevel@tonic-gate      o Bug fix in "openssl enc".
160*0Sstevel@tonic-gate      o Bug fix in X.509 printing routine.
161*0Sstevel@tonic-gate      o Bug fix in DSA verification routine and DSA S/MIME verification.
162*0Sstevel@tonic-gate      o Bug fix to make PRNG thread-safe.
163*0Sstevel@tonic-gate      o Bug fix in RAND_file_name().
164*0Sstevel@tonic-gate      o Bug fix in compatibility mode trust settings.
165*0Sstevel@tonic-gate      o Bug fix in blowfish EVP.
166*0Sstevel@tonic-gate      o Increase default size for BIO buffering filter.
167*0Sstevel@tonic-gate      o Compatibility fixes in some scripts.
168*0Sstevel@tonic-gate
169*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a:
170*0Sstevel@tonic-gate
171*0Sstevel@tonic-gate      o Security fix: change behavior of OpenSSL to avoid using
172*0Sstevel@tonic-gate        environment variables when running as root.
173*0Sstevel@tonic-gate      o Security fix: check the result of RSA-CRT to reduce the
174*0Sstevel@tonic-gate        possibility of deducing the private key from an incorrectly
175*0Sstevel@tonic-gate        calculated signature.
176*0Sstevel@tonic-gate      o Security fix: prevent Bleichenbacher's DSA attack.
177*0Sstevel@tonic-gate      o Security fix: Zero the premaster secret after deriving the
178*0Sstevel@tonic-gate        master secret in DH ciphersuites.
179*0Sstevel@tonic-gate      o Reimplement SSL_peek(), which had various problems.
180*0Sstevel@tonic-gate      o Compatibility fix: the function des_encrypt() renamed to
181*0Sstevel@tonic-gate        des_encrypt1() to avoid clashes with some Unixen libc.
182*0Sstevel@tonic-gate      o Bug fixes for Win32, HP/UX and Irix.
183*0Sstevel@tonic-gate      o Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
184*0Sstevel@tonic-gate        memory checking routines.
185*0Sstevel@tonic-gate      o Bug fixes for RSA operations in threaded environments.
186*0Sstevel@tonic-gate      o Bug fixes in misc. openssl applications.
187*0Sstevel@tonic-gate      o Remove a few potential memory leaks.
188*0Sstevel@tonic-gate      o Add tighter checks of BIGNUM routines.
189*0Sstevel@tonic-gate      o Shared library support has been reworked for generality.
190*0Sstevel@tonic-gate      o More documentation.
191*0Sstevel@tonic-gate      o New function BN_rand_range().
192*0Sstevel@tonic-gate      o Add "-rand" option to openssl s_client and s_server.
193*0Sstevel@tonic-gate
194*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6:
195*0Sstevel@tonic-gate
196*0Sstevel@tonic-gate      o Some documentation for BIO and SSL libraries.
197*0Sstevel@tonic-gate      o Enhanced chain verification using key identifiers.
198*0Sstevel@tonic-gate      o New sign and verify options to 'dgst' application.
199*0Sstevel@tonic-gate      o Support for DER and PEM encoded messages in 'smime' application.
200*0Sstevel@tonic-gate      o New 'rsautl' application, low level RSA utility.
201*0Sstevel@tonic-gate      o MD4 now included.
202*0Sstevel@tonic-gate      o Bugfix for SSL rollback padding check.
203*0Sstevel@tonic-gate      o Support for external crypto devices [1].
204*0Sstevel@tonic-gate      o Enhanced EVP interface.
205*0Sstevel@tonic-gate
206*0Sstevel@tonic-gate    [1] The support for external crypto devices is currently a separate
207*0Sstevel@tonic-gate        distribution.  See the file README.ENGINE.
208*0Sstevel@tonic-gate
209*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a:
210*0Sstevel@tonic-gate
211*0Sstevel@tonic-gate      o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8
212*0Sstevel@tonic-gate      o Shared library support for HPUX and Solaris-gcc
213*0Sstevel@tonic-gate      o Support of Linux/IA64
214*0Sstevel@tonic-gate      o Assembler support for Mingw32
215*0Sstevel@tonic-gate      o New 'rand' application
216*0Sstevel@tonic-gate      o New way to check for existence of algorithms from scripts
217*0Sstevel@tonic-gate
218*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5:
219*0Sstevel@tonic-gate
220*0Sstevel@tonic-gate      o S/MIME support in new 'smime' command
221*0Sstevel@tonic-gate      o Documentation for the OpenSSL command line application
222*0Sstevel@tonic-gate      o Automation of 'req' application
223*0Sstevel@tonic-gate      o Fixes to make s_client, s_server work under Windows
224*0Sstevel@tonic-gate      o Support for multiple fieldnames in SPKACs
225*0Sstevel@tonic-gate      o New SPKAC command line utilty and associated library functions
226*0Sstevel@tonic-gate      o Options to allow passwords to be obtained from various sources
227*0Sstevel@tonic-gate      o New public key PEM format and options to handle it
228*0Sstevel@tonic-gate      o Many other fixes and enhancements to command line utilities
229*0Sstevel@tonic-gate      o Usable certificate chain verification
230*0Sstevel@tonic-gate      o Certificate purpose checking
231*0Sstevel@tonic-gate      o Certificate trust settings
232*0Sstevel@tonic-gate      o Support of authority information access extension
233*0Sstevel@tonic-gate      o Extensions in certificate requests
234*0Sstevel@tonic-gate      o Simplified X509 name and attribute routines
235*0Sstevel@tonic-gate      o Initial (incomplete) support for international character sets
236*0Sstevel@tonic-gate      o New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD
237*0Sstevel@tonic-gate      o Read only memory BIOs and simplified creation function
238*0Sstevel@tonic-gate      o TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0
239*0Sstevel@tonic-gate        record; allow fragmentation and interleaving of handshake and other
240*0Sstevel@tonic-gate        data
241*0Sstevel@tonic-gate      o TLS/SSL code now "tolerates" MS SGC
242*0Sstevel@tonic-gate      o Work around for Netscape client certificate hang bug
243*0Sstevel@tonic-gate      o RSA_NULL option that removes RSA patent code but keeps other
244*0Sstevel@tonic-gate        RSA functionality
245*0Sstevel@tonic-gate      o Memory leak detection now allows applications to add extra information
246*0Sstevel@tonic-gate        via a per-thread stack
247*0Sstevel@tonic-gate      o PRNG robustness improved
248*0Sstevel@tonic-gate      o EGD support
249*0Sstevel@tonic-gate      o BIGNUM library bug fixes
250*0Sstevel@tonic-gate      o Faster DSA parameter generation
251*0Sstevel@tonic-gate      o Enhanced support for Alpha Linux
252*0Sstevel@tonic-gate      o Experimental MacOS support
253*0Sstevel@tonic-gate
254*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4:
255*0Sstevel@tonic-gate
256*0Sstevel@tonic-gate      o Transparent support for PKCS#8 format private keys: these are used
257*0Sstevel@tonic-gate        by several software packages and are more secure than the standard
258*0Sstevel@tonic-gate        form
259*0Sstevel@tonic-gate      o PKCS#5 v2.0 implementation
260*0Sstevel@tonic-gate      o Password callbacks have a new void * argument for application data
261*0Sstevel@tonic-gate      o Avoid various memory leaks
262*0Sstevel@tonic-gate      o New pipe-like BIO that allows using the SSL library when actual I/O
263*0Sstevel@tonic-gate        must be handled by the application (BIO pair)
264*0Sstevel@tonic-gate
265*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3:
266*0Sstevel@tonic-gate      o Lots of enhancements and cleanups to the Configuration mechanism
267*0Sstevel@tonic-gate      o RSA OEAP related fixes
268*0Sstevel@tonic-gate      o Added `openssl ca -revoke' option for revoking a certificate
269*0Sstevel@tonic-gate      o Source cleanups: const correctness, type-safe stacks and ASN.1 SETs
270*0Sstevel@tonic-gate      o Source tree cleanups: removed lots of obsolete files
271*0Sstevel@tonic-gate      o Thawte SXNet, certificate policies and CRL distribution points
272*0Sstevel@tonic-gate        extension support
273*0Sstevel@tonic-gate      o Preliminary (experimental) S/MIME support
274*0Sstevel@tonic-gate      o Support for ASN.1 UTF8String and VisibleString
275*0Sstevel@tonic-gate      o Full integration of PKCS#12 code
276*0Sstevel@tonic-gate      o Sparc assembler bignum implementation, optimized hash functions
277*0Sstevel@tonic-gate      o Option to disable selected ciphers
278*0Sstevel@tonic-gate
279*0Sstevel@tonic-gate  Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b:
280*0Sstevel@tonic-gate      o Fixed a security hole related to session resumption
281*0Sstevel@tonic-gate      o Fixed RSA encryption routines for the p < q case
282*0Sstevel@tonic-gate      o "ALL" in cipher lists now means "everything except NULL ciphers"
283*0Sstevel@tonic-gate      o Support for Triple-DES CBCM cipher
284*0Sstevel@tonic-gate      o Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA
285*0Sstevel@tonic-gate      o First support for new TLSv1 ciphers
286*0Sstevel@tonic-gate      o Added a few new BIOs (syslog BIO, reliable BIO)
287*0Sstevel@tonic-gate      o Extended support for DSA certificate/keys.
288*0Sstevel@tonic-gate      o Extended support for Certificate Signing Requests (CSR)
289*0Sstevel@tonic-gate      o Initial support for X.509v3 extensions
290*0Sstevel@tonic-gate      o Extended support for compression inside the SSL record layer
291*0Sstevel@tonic-gate      o Overhauled Win32 builds
292*0Sstevel@tonic-gate      o Cleanups and fixes to the Big Number (BN) library
293*0Sstevel@tonic-gate      o Support for ASN.1 GeneralizedTime
294*0Sstevel@tonic-gate      o Splitted ASN.1 SETs from SEQUENCEs
295*0Sstevel@tonic-gate      o ASN1 and PEM support for Netscape Certificate Sequences
296*0Sstevel@tonic-gate      o Overhauled Perl interface
297*0Sstevel@tonic-gate      o Lots of source tree cleanups.
298*0Sstevel@tonic-gate      o Lots of memory leak fixes.
299*0Sstevel@tonic-gate      o Lots of bug fixes.
300*0Sstevel@tonic-gate
301*0Sstevel@tonic-gate  Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c:
302*0Sstevel@tonic-gate      o Integration of the popular NO_RSA/NO_DSA patches
303*0Sstevel@tonic-gate      o Initial support for compression inside the SSL record layer
304*0Sstevel@tonic-gate      o Added BIO proxy and filtering functionality
305*0Sstevel@tonic-gate      o Extended Big Number (BN) library
306*0Sstevel@tonic-gate      o Added RIPE MD160 message digest
307*0Sstevel@tonic-gate      o Addeed support for RC2/64bit cipher
308*0Sstevel@tonic-gate      o Extended ASN.1 parser routines
309*0Sstevel@tonic-gate      o Adjustations of the source tree for CVS
310*0Sstevel@tonic-gate      o Support for various new platforms
311*0Sstevel@tonic-gate
312