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