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