]>
Commit | Line | Data |
---|---|---|
3b52c2e7 RE |
1 | |
2 | NEWS | |
3 | ==== | |
4 | ||
5 | This file gives a brief overview of the major changes between each OpenSSL | |
6 | release. For more details please read the CHANGES file. | |
7 | ||
72dce768 BM |
8 | Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a: |
9 | ||
10 | o Fix potential SSL 2.0 rollback, CAN-2005-2969 | |
11 | o Extended Windows CE support | |
12 | ||
7017605d RL |
13 | Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8: |
14 | ||
15 | o Major work on the BIGNUM library for higher efficiency and to | |
16 | make operations more streamlined and less contradictory. This | |
17 | is the result of a major audit of the BIGNUM library. | |
18 | o Addition of BIGNUM functions for fields GF(2^m) and NIST | |
19 | curves, to support the Elliptic Crypto functions. | |
20 | o Major work on Elliptic Crypto; ECDH and ECDSA added, including | |
21 | the use through EVP, X509 and ENGINE. | |
22 | o New ASN.1 mini-compiler that's usable through the OpenSSL | |
23 | configuration file. | |
24 | o Added support for ASN.1 indefinite length constructed encoding. | |
25 | o New PKCS#12 'medium level' API to manipulate PKCS#12 files. | |
26 | o Complete rework of shared library construction and linking | |
27 | programs with shared or static libraries, through a separate | |
28 | Makefile.shared. | |
c8310124 | 29 | o Rework of the passing of parameters from one Makefile to another. |
7017605d RL |
30 | o Changed ENGINE framework to load dynamic engine modules |
31 | automatically from specifically given directories. | |
32 | o New structure and ASN.1 functions for CertificatePair. | |
33 | o Changed the ZLIB compression method to be stateful. | |
34 | o Changed the key-generation and primality testing "progress" | |
35 | mechanism to take a structure that contains the ticker | |
36 | function and an argument. | |
37 | o New engine module: GMP (performs private key exponentiation). | |
38 | o New engine module: VIA PadLOck ACE extension in VIA C3 | |
39 | Nehemiah processors. | |
40 | o Added support for IPv6 addresses in certificate extensions. | |
41 | See RFC 1884, section 2.2. | |
42 | o Added support for certificate policy mappings, policy | |
43 | constraints and name constraints. | |
44 | o Added support for multi-valued AVAs in the OpenSSL | |
45 | configuration file. | |
46 | o Added support for multiple certificates with the same subject | |
47 | in the 'openssl ca' index file. | |
48 | o Make it possible to create self-signed certificates using | |
49 | 'openssl ca -selfsign'. | |
50 | o Make it possible to generate a serial number file with | |
51 | 'openssl ca -create_serial'. | |
52 | o New binary search functions with extended functionality. | |
53 | o New BUF functions. | |
54 | o New STORE structure and library to provide an interface to all | |
55 | sorts of data repositories. Supports storage of public and | |
56 | private keys, certificates, CRLs, numbers and arbitrary blobs. | |
57 | This library is unfortunately unfinished and unused withing | |
58 | OpenSSL. | |
59 | o New control functions for the error stack. | |
60 | o Changed the PKCS#7 library to support one-pass S/MIME | |
61 | processing. | |
62 | o Added the possibility to compile without old deprecated | |
63 | functionality with the OPENSSL_NO_DEPRECATED macro or the | |
64 | 'no-deprecated' argument to the config and Configure scripts. | |
65 | o Constification of all ASN.1 conversion functions, and other | |
66 | affected functions. | |
67 | o Improved platform support for PowerPC. | |
68 | o New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512). | |
69 | o New X509_VERIFY_PARAM structure to support parametrisation | |
70 | of X.509 path validation. | |
71 | o Major overhaul of RC4 performance on Intel P4, IA-64 and | |
72 | AMD64. | |
73 | o Changed the Configure script to have some algorithms disabled | |
74 | by default. Those can be explicitely enabled with the new | |
75 | argument form 'enable-xxx'. | |
76 | o Change the default digest in 'openssl' commands from MD5 to | |
77 | SHA-1. | |
78 | o Added support for DTLS. THIS IS STILL BEING WORKED ON! | |
79 | o New BIGNUM blinding. | |
80 | o Added support for the RSA-PSS encryption scheme | |
81 | o Added support for the RSA X.931 padding. | |
c8310124 RL |
82 | o Added support for BSD sockets on NetWare. |
83 | o Added support for files larger than 2GB. | |
84 | o Added initial support for Win64. | |
85 | o Added alternate pkg-config files. | |
7017605d | 86 | |
36521f01 RL |
87 | Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g: |
88 | ||
89 | o More compilation issues fixed. | |
90 | o Adaptation to more modern Kerberos API. | |
91 | o Enhanced or corrected configuration for Solaris64, Mingw and Cygwin. | |
92 | o Enhanced x86_64 assembler BIGNUM module. | |
93 | o More constification. | |
94 | o Added processing of proxy certificates (RFC 3820). | |
95 | ||
96 | Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f: | |
97 | ||
98 | o Several compilation issues fixed. | |
99 | o Many memory allocation failure checks added. | |
100 | o Improved comparison of X509 Name type. | |
101 | o Mandatory basic checks on certificates. | |
102 | o Performance improvements. | |
103 | ||
03386677 DSH |
104 | Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e: |
105 | ||
106 | o Fix race condition in CRL checking code. | |
107 | o Fixes to PKCS#7 (S/MIME) code. | |
108 | ||
109 | Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d: | |
110 | ||
111 | o Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug | |
112 | o Security: Fix null-pointer assignment in do_change_cipher_spec() | |
113 | o Allow multiple active certificates with same subject in CA index | |
114 | o Multiple X509 verification fixes | |
115 | o Speed up HMAC and other operations | |
116 | ||
29902449 DSH |
117 | Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c: |
118 | ||
119 | o Security: fix various ASN1 parsing bugs. | |
120 | o New -ignore_err option to OCSP utility. | |
121 | o Various interop and bug fixes in S/MIME code. | |
122 | o SSL/TLS protocol fix for unrequested client certificates. | |
123 | ||
1774e22d RL |
124 | Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b: |
125 | ||
126 | o Security: counter the Klima-Pokorny-Rosa extension of | |
127 | Bleichbacher's attack | |
128 | o Security: make RSA blinding default. | |
129 | o Configuration: Irix fixes, AIX fixes, better mingw support. | |
130 | o Support for new platforms: linux-ia64-ecc. | |
131 | o Build: shared library support fixes. | |
132 | o ASN.1: treat domainComponent correctly. | |
133 | o Documentation: fixes and additions. | |
134 | ||
d8cbc935 RL |
135 | Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a: |
136 | ||
137 | o Security: Important security related bugfixes. | |
138 | o Enhanced compatibility with MIT Kerberos. | |
139 | o Can be built without the ENGINE framework. | |
140 | o IA32 assembler enhancements. | |
141 | o Support for new platforms: FreeBSD/IA64 and FreeBSD/Sparc64. | |
142 | o Configuration: the no-err option now works properly. | |
143 | o SSL/TLS: now handles manual certificate chain building. | |
144 | o SSL/TLS: certain session ID malfunctions corrected. | |
145 | ||
3ba25ee8 | 146 | Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7: |
83f25717 RL |
147 | |
148 | o New library section OCSP. | |
e4fb4977 LJ |
149 | o Complete rewrite of ASN1 code. |
150 | o CRL checking in verify code and openssl utility. | |
151 | o Extension copying in 'ca' utility. | |
152 | o Flexible display options in 'ca' utility. | |
153 | o Provisional support for international characters with UTF8. | |
4dec4f64 BM |
154 | o Support for external crypto devices ('engine') is no longer |
155 | a separate distribution. | |
e4fb4977 LJ |
156 | o New elliptic curve library section. |
157 | o New AES (Rijndael) library section. | |
1fc73fef | 158 | o Support for new platforms: Windows CE, Tandem OSS, A/UX, AIX 64-bit, |
29902449 | 159 | Linux x86_64, Linux 64-bit on Sparc v9 |
9801fb61 RL |
160 | o Extended support for some platforms: VxWorks |
161 | o Enhanced support for shared libraries. | |
29902449 | 162 | o Now only builds PIC code when shared library support is requested. |
9801fb61 RL |
163 | o Support for pkg-config. |
164 | o Lots of new manuals. | |
29902449 DSH |
165 | o Makes symbolic links to or copies of manuals to cover all described |
166 | functions. | |
e4fb4977 LJ |
167 | o Change DES API to clean up the namespace (some applications link also |
168 | against libdes providing similar functions having the same name). | |
169 | Provide macros for backward compatibility (will be removed in the | |
170 | future). | |
ece0bdf1 BM |
171 | o Unify handling of cryptographic algorithms (software and engine) |
172 | to be available via EVP routines for asymmetric and symmetric ciphers. | |
e4fb4977 LJ |
173 | o NCONF: new configuration handling routines. |
174 | o Change API to use more 'const' modifiers to improve error checking | |
175 | and help optimizers. | |
176 | o Finally remove references to RSAref. | |
177 | o Reworked parts of the BIGNUM code. | |
178 | o Support for new engines: Broadcom ubsec, Accelerated Encryption | |
179 | Processing, IBM 4758. | |
9801fb61 | 180 | o A few new engines added in the demos area. |
e1f7ea25 | 181 | o Extended and corrected OID (object identifier) table. |
e4fb4977 LJ |
182 | o PRNG: query at more locations for a random device, automatic query for |
183 | EGD style random sources at several locations. | |
184 | o SSL/TLS: allow optional cipher choice according to server's preference. | |
185 | o SSL/TLS: allow server to explicitly set new session ids. | |
186 | o SSL/TLS: support Kerberos cipher suites (RFC2712). | |
1fc73fef | 187 | Only supports MIT Kerberos for now. |
e4fb4977 LJ |
188 | o SSL/TLS: allow more precise control of renegotiations and sessions. |
189 | o SSL/TLS: add callback to retrieve SSL/TLS messages. | |
ea4f109c | 190 | o SSL/TLS: support AES cipher suites (RFC3268). |
e4fb4977 | 191 | |
29902449 DSH |
192 | Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k: |
193 | ||
194 | o Security: fix various ASN1 parsing bugs. | |
195 | o SSL/TLS protocol fix for unrequested client certificates. | |
196 | ||
138f970e RL |
197 | Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j: |
198 | ||
199 | o Security: counter the Klima-Pokorny-Rosa extension of | |
200 | Bleichbacher's attack | |
201 | o Security: make RSA blinding default. | |
202 | o Build: shared library support fixes. | |
203 | ||
d8cbc935 RL |
204 | Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i: |
205 | ||
206 | o Important security related bugfixes. | |
207 | ||
9801fb61 RL |
208 | Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h: |
209 | ||
210 | o New configuration targets for Tandem OSS and A/UX. | |
211 | o New OIDs for Microsoft attributes. | |
212 | o Better handling of SSL session caching. | |
213 | o Better comparison of distinguished names. | |
214 | o Better handling of shared libraries in a mixed GNU/non-GNU environment. | |
215 | o Support assembler code with Borland C. | |
216 | o Fixes for length problems. | |
217 | o Fixes for uninitialised variables. | |
218 | o Fixes for memory leaks, some unusual crashes and some race conditions. | |
219 | o Fixes for smaller building problems. | |
220 | o Updates of manuals, FAQ and other instructive documents. | |
221 | ||
36969082 RL |
222 | Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g: |
223 | ||
224 | o Important building fixes on Unix. | |
225 | ||
fbe792f0 RL |
226 | Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f: |
227 | ||
228 | o Various important bugfixes. | |
229 | ||
b218af2b LJ |
230 | Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e: |
231 | ||
232 | o Important security related bugfixes. | |
233 | o Various SSL/TLS library bugfixes. | |
234 | ||
151457ab | 235 | Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d: |
e4fb4977 LJ |
236 | |
237 | o Various SSL/TLS library bugfixes. | |
238 | o Fix DH parameter generation for 'non-standard' generators. | |
4dec4f64 | 239 | |
151457ab | 240 | Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c: |
ae52ec98 BM |
241 | |
242 | o Various SSL/TLS library bugfixes. | |
243 | o BIGNUM library fixes. | |
ef5f6a08 RL |
244 | o RSA OAEP and random number generation fixes. |
245 | o Object identifiers corrected and added. | |
246 | o Add assembler BN routines for IA64. | |
247 | o Add support for OS/390 Unix, UnixWare with gcc, OpenUNIX 8, | |
248 | MIPS Linux; shared library support for Irix, HP-UX. | |
a3790c0d | 249 | o Add crypto accelerator support for AEP, Baltimore SureWare, |
ef5f6a08 RL |
250 | Broadcom and Cryptographic Appliance's keyserver |
251 | [in 0.9.6c-engine release]. | |
ae52ec98 | 252 | |
151457ab | 253 | Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b: |
4dec4f64 BM |
254 | |
255 | o Security fix: PRNG improvements. | |
256 | o Security fix: RSA OAEP check. | |
257 | o Security fix: Reinsert and fix countermeasure to Bleichbacher's | |
258 | attack. | |
259 | o MIPS bug fix in BIGNUM. | |
260 | o Bug fix in "openssl enc". | |
261 | o Bug fix in X.509 printing routine. | |
262 | o Bug fix in DSA verification routine and DSA S/MIME verification. | |
263 | o Bug fix to make PRNG thread-safe. | |
264 | o Bug fix in RAND_file_name(). | |
265 | o Bug fix in compatibility mode trust settings. | |
266 | o Bug fix in blowfish EVP. | |
267 | o Increase default size for BIO buffering filter. | |
268 | o Compatibility fixes in some scripts. | |
83f25717 | 269 | |
7cdd2aa1 RL |
270 | Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a: |
271 | ||
272 | o Security fix: change behavior of OpenSSL to avoid using | |
273 | environment variables when running as root. | |
274 | o Security fix: check the result of RSA-CRT to reduce the | |
275 | possibility of deducing the private key from an incorrectly | |
276 | calculated signature. | |
277 | o Security fix: prevent Bleichenbacher's DSA attack. | |
278 | o Security fix: Zero the premaster secret after deriving the | |
279 | master secret in DH ciphersuites. | |
4fea8145 | 280 | o Reimplement SSL_peek(), which had various problems. |
307bf4da RL |
281 | o Compatibility fix: the function des_encrypt() renamed to |
282 | des_encrypt1() to avoid clashes with some Unixen libc. | |
7cdd2aa1 RL |
283 | o Bug fixes for Win32, HP/UX and Irix. |
284 | o Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and | |
285 | memory checking routines. | |
5012158a | 286 | o Bug fixes for RSA operations in threaded environments. |
7cdd2aa1 RL |
287 | o Bug fixes in misc. openssl applications. |
288 | o Remove a few potential memory leaks. | |
289 | o Add tighter checks of BIGNUM routines. | |
290 | o Shared library support has been reworked for generality. | |
291 | o More documentation. | |
4fea8145 | 292 | o New function BN_rand_range(). |
7cdd2aa1 RL |
293 | o Add "-rand" option to openssl s_client and s_server. |
294 | ||
4e87e05b DSH |
295 | Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6: |
296 | ||
297 | o Some documentation for BIO and SSL libraries. | |
298 | o Enhanced chain verification using key identifiers. | |
299 | o New sign and verify options to 'dgst' application. | |
300 | o Support for DER and PEM encoded messages in 'smime' application. | |
301 | o New 'rsautl' application, low level RSA utility. | |
b38d84d8 BM |
302 | o MD4 now included. |
303 | o Bugfix for SSL rollback padding check. | |
4dec4f64 | 304 | o Support for external crypto devices [1]. |
fda05b21 | 305 | o Enhanced EVP interface. |
b22bda21 | 306 | |
4dec4f64 BM |
307 | [1] The support for external crypto devices is currently a separate |
308 | distribution. See the file README.ENGINE. | |
309 | ||
35a79ecb RL |
310 | Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a: |
311 | ||
b7a81df4 | 312 | o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8 |
35a79ecb RL |
313 | o Shared library support for HPUX and Solaris-gcc |
314 | o Support of Linux/IA64 | |
b7a81df4 | 315 | o Assembler support for Mingw32 |
35a79ecb RL |
316 | o New 'rand' application |
317 | o New way to check for existence of algorithms from scripts | |
318 | ||
0c235249 UM |
319 | Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5: |
320 | ||
90644dd7 | 321 | o S/MIME support in new 'smime' command |
0c235249 | 322 | o Documentation for the OpenSSL command line application |
90644dd7 DSH |
323 | o Automation of 'req' application |
324 | o Fixes to make s_client, s_server work under Windows | |
325 | o Support for multiple fieldnames in SPKACs | |
326 | o New SPKAC command line utilty and associated library functions | |
ae1bb4e5 | 327 | o Options to allow passwords to be obtained from various sources |
90644dd7 DSH |
328 | o New public key PEM format and options to handle it |
329 | o Many other fixes and enhancements to command line utilities | |
330 | o Usable certificate chain verification | |
331 | o Certificate purpose checking | |
332 | o Certificate trust settings | |
333 | o Support of authority information access extension | |
334 | o Extensions in certificate requests | |
335 | o Simplified X509 name and attribute routines | |
ae1bb4e5 | 336 | o Initial (incomplete) support for international character sets |
90644dd7 DSH |
337 | o New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD |
338 | o Read only memory BIOs and simplified creation function | |
8bd5b794 BM |
339 | o TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0 |
340 | record; allow fragmentation and interleaving of handshake and other | |
341 | data | |
90644dd7 | 342 | o TLS/SSL code now "tolerates" MS SGC |
8bd5b794 | 343 | o Work around for Netscape client certificate hang bug |
90644dd7 DSH |
344 | o RSA_NULL option that removes RSA patent code but keeps other |
345 | RSA functionality | |
07e6dbde BM |
346 | o Memory leak detection now allows applications to add extra information |
347 | via a per-thread stack | |
348 | o PRNG robustness improved | |
4d524e10 | 349 | o EGD support |
6d9ca500 | 350 | o BIGNUM library bug fixes |
4d524e10 | 351 | o Faster DSA parameter generation |
74235cc9 UM |
352 | o Enhanced support for Alpha Linux |
353 | o Experimental MacOS support | |
0c235249 | 354 | |
ed7f60fb DSH |
355 | Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4: |
356 | ||
357 | o Transparent support for PKCS#8 format private keys: these are used | |
c97cbcb3 BM |
358 | by several software packages and are more secure than the standard |
359 | form | |
360 | o PKCS#5 v2.0 implementation | |
361 | o Password callbacks have a new void * argument for application data | |
362 | o Avoid various memory leaks | |
363 | o New pipe-like BIO that allows using the SSL library when actual I/O | |
364 | must be handled by the application (BIO pair) | |
ed7f60fb | 365 | |
8e8a8a5f | 366 | Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3: |
9de649ff UM |
367 | o Lots of enhancements and cleanups to the Configuration mechanism |
368 | o RSA OEAP related fixes | |
8e8a8a5f RE |
369 | o Added `openssl ca -revoke' option for revoking a certificate |
370 | o Source cleanups: const correctness, type-safe stacks and ASN.1 SETs | |
371 | o Source tree cleanups: removed lots of obsolete files | |
703126f0 | 372 | o Thawte SXNet, certificate policies and CRL distribution points |
a03dd7a6 | 373 | extension support |
703126f0 DSH |
374 | o Preliminary (experimental) S/MIME support |
375 | o Support for ASN.1 UTF8String and VisibleString | |
376 | o Full integration of PKCS#12 code | |
2cf9fcda | 377 | o Sparc assembler bignum implementation, optimized hash functions |
b0759f87 | 378 | o Option to disable selected ciphers |
8e8a8a5f | 379 | |
d343d272 | 380 | Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b: |
738769ff RE |
381 | o Fixed a security hole related to session resumption |
382 | o Fixed RSA encryption routines for the p < q case | |
383 | o "ALL" in cipher lists now means "everything except NULL ciphers" | |
3b52c2e7 RE |
384 | o Support for Triple-DES CBCM cipher |
385 | o Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA | |
386 | o First support for new TLSv1 ciphers | |
387 | o Added a few new BIOs (syslog BIO, reliable BIO) | |
388 | o Extended support for DSA certificate/keys. | |
03e20a1a | 389 | o Extended support for Certificate Signing Requests (CSR) |
3b52c2e7 RE |
390 | o Initial support for X.509v3 extensions |
391 | o Extended support for compression inside the SSL record layer | |
392 | o Overhauled Win32 builds | |
393 | o Cleanups and fixes to the Big Number (BN) library | |
394 | o Support for ASN.1 GeneralizedTime | |
395 | o Splitted ASN.1 SETs from SEQUENCEs | |
396 | o ASN1 and PEM support for Netscape Certificate Sequences | |
397 | o Overhauled Perl interface | |
398 | o Lots of source tree cleanups. | |
399 | o Lots of memory leak fixes. | |
400 | o Lots of bug fixes. | |
401 | ||
402 | Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c: | |
403 | o Integration of the popular NO_RSA/NO_DSA patches | |
404 | o Initial support for compression inside the SSL record layer | |
405 | o Added BIO proxy and filtering functionality | |
406 | o Extended Big Number (BN) library | |
407 | o Added RIPE MD160 message digest | |
408 | o Addeed support for RC2/64bit cipher | |
409 | o Extended ASN.1 parser routines | |
410 | o Adjustations of the source tree for CVS | |
411 | o Support for various new platforms | |
412 |