]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
Allow extensions to be added to certificate requests, update the sample
[thirdparty/openssl.git] / CHANGES
CommitLineData
651d0aff 1
f1c236f8 2 OpenSSL CHANGES
651d0aff
RE
3 _______________
4
d91e201e
RE
5 Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
6
c79b16e1
DSH
7 *) Allow certificate extensions to be added to certificate requests. These
8 are specified in a 'req_extensions' option of the req section of the
9 config file. They can be printed out with the -text option to req but
10 are otherwise ignored at present.
11 [Steve Henson]
12
7b65c329
DSH
13 *) Fix a horrible bug in enc_read() in crypto/evp/bio_enc.c: if the first data
14 read consists of only the final block it would not decrypted because
15 EVP_CipherUpdate() would correctly report zero bytes had been decrypted.
16 A misplaced 'break' also meant the decrypted final block might not be
17 copied until the next read.
18 [Steve Henson]
19
13066cee
DSH
20 *) Initial support for DH_METHOD. Again based on RSA_METHOD. Also added
21 a few extra parameters to the DH structure: these will be useful if
22 for example we want the value of 'q' or implement X9.42 DH.
23 [Steve Henson]
24
c0711f7f
DSH
25 *) Initial support for DSA_METHOD. This is based on the RSA_METHOD and
26 provides hooks that allow the default DSA functions or functions on a
27 "per key" basis to be replaced. This allows hardware acceleration and
28 hardware key storage to be handled without major modification to the
29 library. Also added low level modexp hooks and CRYPTO_EX structure and
30 associated functions.
31 [Steve Henson]
32
8484721a
DSH
33 *) Add a new flag to memory BIOs, BIO_FLAG_MEM_RDONLY. This marks the BIO
34 as "read only": it can't be written to and the buffer it points to will
35 not be freed. Reading from a read only BIO is much more efficient than
36 a normal memory BIO. This was added because there are several times when
37 an area of memory needs to be read from a BIO. The previous method was
38 to create a memory BIO and write the data to it, this results in two
39 copies of the data and an O(n^2) reading algorithm. There is a new
40 function BIO_new_mem_buf() which creates a read only memory BIO from
41 an area of memory. Also modified the PKCS#7 routines to use read only
42 memory BIOSs.
43 [Steve Henson]
44
de1915e4
BM
45 *) Bugfix: ssl23_get_client_hello did not work properly when called in
46 state SSL23_ST_SR_CLNT_HELLO_B, i.e. when the first 7 bytes of
47 a SSLv2-compatible client hello for SSLv3 or TLSv1 could be read,
48 but a retry condition occured while trying to read the rest.
49 [Bodo Moeller]
50
c6c34506
DSH
51 *) The PKCS7_ENC_CONTENT_new() function was setting the content type as
52 NID_pkcs7_encrypted by default: this was wrong since this should almost
53 always be NID_pkcs7_data. Also modified the PKCS7_set_type() to handle
54 the encrypted data type: this is a more sensible place to put it and it
55 allows the PKCS#12 code to be tidied up that duplicated this
56 functionality.
57 [Steve Henson]
58
fd520577
DSH
59 *) Changed obj_dat.pl script so it takes its input and output files on
60 the command line. This should avoid shell escape redirection problems
61 under Win32.
62 [Steve Henson]
63
87c49f62 64 *) Initial support for certificate extension requests, these are included
fd520577
DSH
65 in things like Xenroll certificate requests. Included functions to allow
66 extensions to be obtained and added.
87c49f62
DSH
67 [Steve Henson]
68
1b1a6e78
BM
69 *) -crlf option to s_client and s_server for sending newlines as
70 CRLF (as required by many protocols).
71 [Bodo Moeller]
72
9a577e29 73 Changes between 0.9.3a and 0.9.4 [09 Aug 1999]
dfbaf956 74
9a577e29 75 *) Install libRSAglue.a when OpenSSL is built with RSAref.
dfbaf956 76 [Ralf S. Engelschall]
74678cc2 77
96395158
RE
78 *) A few more ``#ifndef NO_FP_API / #endif'' pairs for consistency.
79 [Andrija Antonijevic <TheAntony2@bigfoot.com>]
80
ed7f60fb
DSH
81 *) Fix -startdate and -enddate (which was missing) arguments to 'ca'
82 program.
83 [Steve Henson]
84
48c843c3
BM
85 *) New function DSA_dup_DH, which duplicates DSA parameters/keys as
86 DH parameters/keys (q is lost during that conversion, but the resulting
87 DH parameters contain its length).
88
89 For 1024-bit p, DSA_generate_parameters followed by DSA_dup_DH is
90 much faster than DH_generate_parameters (which creates parameters
91 where p = 2*q + 1), and also the smaller q makes DH computations
92 much more efficient (160-bit exponentiation instead of 1024-bit
93 exponentiation); so this provides a convenient way to support DHE
94 ciphersuites in SSL/TLS servers (see ssl/ssltest.c). It is of
95 utter importance to use
96 SSL_CTX_set_options(s_ctx, SSL_OP_SINGLE_DH_USE);
97 or
98 SSL_set_options(s_ctx, SSL_OP_SINGLE_DH_USE);
99 when such DH parameters are used, because otherwise small subgroup
100 attacks may become possible!
101 [Bodo Moeller]
102
103 *) Avoid memory leak in i2d_DHparams.
104 [Bodo Moeller]
105
922180d7
DSH
106 *) Allow the -k option to be used more than once in the enc program:
107 this allows the same encrypted message to be read by multiple recipients.
108 [Steve Henson]
109
3e3d2ea2
DSH
110 *) New function OBJ_obj2txt(buf, buf_len, a, no_name), this converts
111 an ASN1_OBJECT to a text string. If the "no_name" parameter is set then
112 it will always use the numerical form of the OID, even if it has a short
113 or long name.
114 [Steve Henson]
115
770d19b8
DSH
116 *) Added an extra RSA flag: RSA_FLAG_EXT_PKEY. Previously the rsa_mod_exp
117 method only got called if p,q,dmp1,dmq1,iqmp components were present,
118 otherwise bn_mod_exp was called. In the case of hardware keys for example
119 no private key components need be present and it might store extra data
120 in the RSA structure, which cannot be accessed from bn_mod_exp. By setting
121 RSA_FLAG_EXT_PKEY rsa_mod_exp will always be called for private key
122 operations.
123 [Steve Henson]
124
a0618e3e
AP
125 *) Added support for SPARC Linux.
126 [Andy Polyakov]
127
74678cc2
BM
128 *) pem_password_cb function type incompatibly changed from
129 typedef int pem_password_cb(char *buf, int size, int rwflag);
130 to
131 ....(char *buf, int size, int rwflag, void *userdata);
132 so that applications can pass data to their callbacks:
133 The PEM[_ASN1]_{read,write}... functions and macros now take an
134 additional void * argument, which is just handed through whenever
135 the password callback is called.
136 [Damien Miller <dmiller@ilogic.com.au>, with tiny changes by Bodo Moeller]
137
138 New function SSL_CTX_set_default_passwd_cb_userdata.
139
140 Compatibility note: As many C implementations push function arguments
141 onto the stack in reverse order, the new library version is likely to
142 interoperate with programs that have been compiled with the old
143 pem_password_cb definition (PEM_whatever takes some data that
144 happens to be on the stack as its last argument, and the callback
145 just ignores this garbage); but there is no guarantee whatsoever that
146 this will work.
0cceb1c7 147
664b9985
BM
148 *) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=...
149 (both in crypto/Makefile.ssl for use by crypto/cversion.c) caused
150 problems not only on Windows, but also on some Unix platforms.
2e0fc875 151 To avoid problematic command lines, these definitions are now in an
57119943
BM
152 auto-generated file crypto/buildinf.h (created by crypto/Makefile.ssl
153 for standard "make" builds, by util/mk1mf.pl for "mk1mf" builds).
664b9985
BM
154 [Bodo Moeller]
155
7363455f
AP
156 *) MIPS III/IV assembler module is reimplemented.
157 [Andy Polyakov]
158
6434450c
UM
159 *) More DES library cleanups: remove references to srand/rand and
160 delete an unused file.
161