]>
Commit | Line | Data |
---|---|---|
1 | ||
2 | OpenSSL CHANGES | |
3 | _______________ | |
4 | ||
5 | Changes between 0.9.8 and 0.9.9 [xx XXX xxxx] | |
6 | ||
7 | *) | |
8 | ||
9 | Changes between 0.9.7h and 0.9.8 [xx XXX xxxx] | |
10 | ||
11 | *) Add attribute functions to EVP_PKEY structure. Modify | |
12 | PKCS12_create() to recognize a CSP name attribute and | |
13 | use it. Make -CSP option work again in pkcs12 utility. | |
14 | [Steve Henson] | |
15 | ||
16 | *) Add new functionality to the bn blinding code: | |
17 | - automatic re-creation of the BN_BLINDING parameters after | |
18 | a fixed number of uses (currently 32) | |
19 | - add new function for parameter creation | |
20 | - introduce flags to control the update behaviour of the | |
21 | BN_BLINDING parameters | |
22 | - hide BN_BLINDING structure | |
23 | Add a second BN_BLINDING slot to the RSA structure to improve | |
24 | performance when a single RSA object is shared among several | |
25 | threads. | |
26 | [Nils Larsch] | |
27 | ||
28 | *) Add support for DTLS. | |
29 | [Nagendra Modadugu <nagendra@cs.stanford.edu> and Ben Laurie] | |
30 | ||
31 | *) Add support for DER encoded private keys (SSL_FILETYPE_ASN1) | |
32 | to SSL_CTX_use_PrivateKey_file() and SSL_use_PrivateKey_file() | |
33 | [Walter Goulet] | |
34 | ||
35 | *) Remove buggy and incompletet DH cert support from | |
36 | ssl/ssl_rsa.c and ssl/s3_both.c | |
37 | [Nils Larsch] | |
38 | ||
39 | *) Use SHA-1 instead of MD5 as the default digest algorithm for | |
40 | the apps/openssl applications. | |
41 | [Nils Larsch] | |
42 | ||
43 | *) Compile clean with "-Wall -Wmissing-prototypes | |
44 | -Wstrict-prototypes -Wmissing-declarations -Werror". Currently | |
45 | DEBUG_SAFESTACK must also be set. | |
46 | [Ben Laurie] | |
47 | ||
48 | *) Change ./Configure so that certain algorithms can be disabled by default. | |
49 | The new counterpiece to "no-xxx" is "enable-xxx". | |
50 | ||
51 | The patented RC5 and MDC2 algorithms will now be disabled unless | |
52 | "enable-rc5" and "enable-mdc2", respectively, are specified. | |
53 | ||
54 | (IDEA remains enabled despite being patented. This is because IDEA | |
55 | is frequently required for interoperability, and there is no license | |
56 | fee for non-commercial use. As before, "no-idea" can be used to | |
57 | avoid this algorithm.) | |
58 | ||
59 | [Bodo Moeller] | |
60 | ||
61 | *) Add processing of proxy certificates (see RFC 3820). This work was | |
62 | sponsored by KTH (The Royal Institute of Technology in Stockholm) and | |
63 | EGEE (Enabling Grids for E-science in Europe). | |
64 | [Richard Levitte] | |
65 | ||
66 | *) RC4 performance overhaul on modern architectures/implementations, such | |
67 | as Intel P4, IA-64 and AMD64. | |
68 | [Andy Polyakov] | |
69 | ||
70 | *) New utility extract-section.pl. This can be used specify an alternative | |
71 | section number in a pod file instead of having to treat each file as | |
72 | a separate case in Makefile. This can be done by adding two lines to the | |
73 | pod file: | |
74 | ||
75 | =for comment openssl_section:XXX | |
76 | ||
77 | The blank line is mandatory. | |
78 | ||
79 | [Steve Henson] | |
80 | ||
81 | *) New arguments -certform, -keyform and -pass for s_client and s_server | |
82 | to allow alternative format key and certificate files and passphrase | |
83 | sources. | |
84 | [Steve Henson] | |
85 | ||
86 | *) New structure X509_VERIFY_PARAM which combines current verify parameters, | |
87 | update associated structures and add various utility functions. | |
88 | ||
89 | Add new policy related verify parameters, include policy checking in | |
90 | standard verify code. Enhance 'smime' application with extra parameters | |
91 | to support policy checking and print out. | |
92 | [Steve Henson] | |
93 | ||
94 | *) Add a new engine to support VIA PadLock ACE extensions in the VIA C3 | |
95 | Nehemiah processors. These extensions support AES encryption in hardware | |
96 | as well as RNG (though RNG support is currently disabled). | |
97 | [Michal Ludvig <michal@logix.cz>, with help from Andy Polyakov] | |
98 | ||
99 | *) Deprecate BN_[get|set]_params() functions (they were ignored internally). | |
100 | [Geoff Thorpe] | |
101 | ||
102 | *) New FIPS 180-2 algorithms, SHA-224/-256/-384/-512 are implemented. | |
103 | [Andy Polyakov and a number of other people] | |
104 | ||
105 | *) Improved PowerPC platform support. Most notably BIGNUM assembler | |
106 | implementation contributed by IBM. | |
107 | [Suresh Chari, Peter Waltenberg, Andy Polyakov] | |
108 | ||
109 | *) The new 'RSA_generate_key_ex' function now takes a BIGNUM for the public | |
110 | exponent rather than 'unsigned long'. There is a corresponding change to | |
111 | the new 'rsa_keygen' element of the RSA_METHOD structure. | |
112 | [Jelte Jansen, Geoff Thorpe] | |
113 | ||
114 | *) Functionality for creating the initial serial number file is now | |
115 | moved from CA.pl to the 'ca' utility with a new option -create_serial. | |
116 | ||
117 | (Before OpenSSL 0.9.7e, CA.pl used to initialize the serial | |
118 | number file to 1, which is bound to cause problems. To avoid | |
119 | the problems while respecting compatibility between different 0.9.7 | |
120 | patchlevels, 0.9.7e employed 'openssl x509 -next_serial' in | |
121 | CA.pl for serial number initialization. With the new release 0.9.8, | |
122 | we can fix the problem directly in the 'ca' utility.) | |
123 | [Steve Henson] | |
124 | ||
125 | *) Reduced header interdepencies by declaring more opaque objects in | |
126 | ossl_typ.h. As a consequence, including some headers (eg. engine.h) will | |
127 | give fewer recursive includes, which could break lazy source code - so | |
128 | this change is covered by the OPENSSL_NO_DEPRECATED symbol. As always, | |
129 | developers should define this symbol when building and using openssl to | |
130 | ensure they track the recommended behaviour, interfaces, [etc], but | |
131 | backwards-compatible behaviour prevails when this isn't defined. | |
132 | [Geoff Thorpe] | |
133 | ||
134 | *) New function X509_POLICY_NODE_print() which prints out policy nodes. | |
135 | [Steve Henson] | |
136 | ||
137 | *) Add new EVP function EVP_CIPHER_CTX_rand_key and associated functionality. | |
138 | This will generate a random key of the appropriate length based on the | |
139 | cipher context. The EVP_CIPHER can provide its own random key generation | |
140 | routine to support keys of a specific form. This is used in the des and | |
141 | 3des routines to generate a key of the correct parity. Update S/MIME | |
142 | code to use new functions and hence generate correct parity DES keys. | |
143 | Add EVP_CHECK_DES_KEY #define to return an error if the key is not | |
144 | valid (weak or incorrect parity). | |
145 | [Steve Henson] | |
146 | ||
147 | *) Add a local set of CRLs that can be used by X509_verify_cert() as well | |
148 | as looking them up. This is useful when the verified structure may contain | |
149 | CRLs, for example PKCS#7 signedData. Modify PKCS7_verify() to use any CRLs | |
150 | present unless the new PKCS7_NO_CRL flag is asserted. | |
151 | [Steve Henson] | |
152 | ||
153 | *) Extend ASN1 oid configuration module. It now additionally accepts the | |
154 | syntax: | |
155 | ||
156 | shortName = some long name, 1.2.3.4 | |
157 | [Steve Henson] | |
158 | ||
159 | *) Reimplemented the BN_CTX implementation. There is now no more static | |
160 | limitation on the number of variables it can handle nor the depth of the | |
161 | "stack" handling for BN_CTX_start()/BN_CTX_end() pairs. The stack | |
162 | information can now expand as required, and rather than having a single | |
163 | static array of bignums, BN_CTX now uses a linked-list of such arrays | |
164 | allowing it to expand on demand whilst maintaining the usefulness of | |
165 | BN_CTX's "bundling". | |
166 | [Geoff Thorpe] | |
167 | ||
168 | *) Add a missing BN_CTX parameter to the 'rsa_mod_exp' callback in RSA_METHOD | |
169 | to allow all RSA operations to function using a single BN_CTX. | |
170 | [Geoff Thorpe] | |
171 | ||
172 | *) Preliminary support for certificate policy evaluation and checking. This | |
173 | is initially intended to pass the tests outlined in "Conformance Testing | |
174 | of Relying Party Client Certificate Path Processing Logic" v1.07. | |
175 | [Steve Henson] | |
176 | ||
177 | *) bn_dup_expand() has been deprecated, it was introduced in 0.9.7 and | |
178 | remained unused and not that useful. A variety of other little bignum | |
179 | tweaks and fixes have also been made continuing on from the audit (see | |
180 | below). | |
181 | [Geoff Thorpe] | |
182 | ||
183 | *) Constify all or almost all d2i, c2i, s2i and r2i functions, along with | |
184 | associated ASN1, EVP and SSL functions and old ASN1 macros. | |
185 | [Richard Levitte] | |
186 | ||
187 | *) BN_zero() only needs to set 'top' and 'neg' to zero for correct results, | |
188 | and this should never fail. So the return value from the use of | |
189 | BN_set_word() (which can fail due to needless expansion) is now deprecated; | |
190 | if OPENSSL_NO_DEPRECATED is defined, BN_zero() is a void macro. | |
191 | [Geoff Thorpe] | |
192 | ||
193 | *) BN_CTX_get() should return zero-valued bignums, providing the same | |
194 | initialised value as BN_new(). | |
195 |