]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
Add fips hmac key to dgst utility.
[thirdparty/openssl.git] / CHANGES
CommitLineData
81a6c781 1
f1c236f8 2 OpenSSL CHANGES
651d0aff
RE
3 _______________
4
7b3a9b00 5 Changes between 1.0.1 and 1.1.0 [xx XXX xxxx]
aaf35f11 6
05e24c87
DSH
7 *) Extensive reorganisation of FIPS PRNG behaviour. Remove all dependencies
8 to OpenSSL RAND code and replace with a tiny FIPS RAND API which also
9 performs algorithm blocking for unapproved PRNG types. Also do not
10 set PRNG type in FIPS_mode_set(): leave this to the application.
11 Add default OpenSSL DRBG handling: sets up FIPS PRNG and seeds with
12 the standard OpenSSL PRNG.
13 [Steve Henson]
14
cab0595c
DSH
15 *) Rename old X9.31 PRNG functions of the form FIPS_rand* to FIPS_x931*.
16 This shouldn't present any incompatibility problems because applications
17 shouldn't be using these directly and any that are will need to rethink
18 anyway as the X9.31 PRNG is now deprecated by FIPS 140-2
19 [Steve Henson]
20
96ec46f7
DSH
21 *) Extensive self tests and health checking required by SP800-90 DRBG.
22 Remove strength parameter from FIPS_drbg_instantiate and always
23 instantiate at maximum supported strength.
24 [Steve Henson]
25
0deea0e0 26 *) Add SRP support.
d4f3dd5f 27 [Tom Wu <tjw@cs.stanford.edu> and Ben Laurie]
0deea0e0 28
8857b380
DSH
29 *) Add ECDH code to fips module and fips_ecdhvs for primitives only testing.
30 [Steve Henson]
31
11e80de3
DSH
32 *) New algorithm test program fips_dhvs to handle DH primitives only testing.
33 [Steve Henson]
34
35 *) New function DH_compute_key_padded() to compute a DH key and pad with
36 leading zeroes if needed: this complies with SP800-56A et al.
37 [Steve Henson]
38
591cbfae
DSH
39 *) Initial implementation of SP800-90 DRBGs for Hash and CTR. Not used by
40 anything, incomplete, subject to change and largely untested at present.
41 [Steve Henson]
42
eead69f5
DSH
43 *) Modify fipscanisteronly build option to only build the necessary object
44 files by filtering FIPS_EX_OBJ through a perl script in crypto/Makefile.
45 [Steve Henson]
46
017bc57b
DSH
47 *) Add experimental option FIPSSYMS to give all symbols in
48 fipscanister.o and FIPS or fips prefix. This will avoid
5d439d69
DSH
49 conflicts with future versions of OpenSSL. Add perl script
50 util/fipsas.pl to preprocess assembly language source files
51 and rename any affected symbols.
017bc57b
DSH
52 [Steve Henson]
53
25c65429
DSH
54 *) Add selftest checks and algorithm block of non-fips algorithms in
55 FIPS mode. Remove DES2 from selftests.
56 [Steve Henson]
57
fe26d066
DSH
58 *) Add ECDSA code to fips module. Add tiny fips_ecdsa_check to just
59 return internal method without any ENGINE dependencies. Add new
25c65429 60 tiny fips sign and verify functions.
fe26d066
DSH
61 [Steve Henson]
62
b3310161
DSH
63 *) New build option no-ec2m to disable characteristic 2 code.
64 [Steve Henson]
65
30b56225
DSH
66 *) New build option "fipscanisteronly". This only builds fipscanister.o
67 and (currently) associated fips utilities. Uses the file Makefile.fips
68 instead of Makefile.org as the prototype.
69 [Steve Henson]
70
b3d8022e
DSH
71 *) Add some FIPS mode restrictions to GCM. Add internal IV generator.
72 Update fips_gcmtest to use IV generator.
73 [Steve Henson]
74
bdaa5415
DSH
75 *) Initial, experimental EVP support for AES-GCM. AAD can be input by
76 setting output buffer to NULL. The *Final function must be
77 called although it will not retrieve any additional data. The tag
78 can be set or retrieved with a ctrl. The IV length is by default 12
79 bytes (96 bits) but can be set to an alternative value. If the IV
80 length exceeds the maximum IV length (currently 16 bytes) it cannot be
81 set before the key.
82 [Steve Henson]
83
3da0ca79
DSH
84 *) New flag in ciphers: EVP_CIPH_FLAG_CUSTOM_CIPHER. This means the
85 underlying do_cipher function handles all cipher semantics itself
86 including padding and finalisation. This is useful if (for example)
87 an ENGINE cipher handles block padding itself. The behaviour of
88 do_cipher is subtly changed if this flag is set: the return value
89 is the number of characters written to the output buffer (zero is
90 no longer an error code) or a negative error code. Also if the
d45087c6 91 input buffer is NULL and length 0 finalisation should be performed.
3da0ca79
DSH
92 [Steve Henson]
93
2b3936e8
DSH
94 *) If a candidate issuer certificate is already part of the constructed
95 path ignore it: new debug notification X509_V_ERR_PATH_LOOP for this case.
96 [Steve Henson]
97
7c2d4fee
BM
98 *) Improve forward-security support: add functions
99
100 void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx, int (*cb)(SSL *ssl, int is_forward_secure))
101 void SSL_set_not_resumable_session_callback(SSL *ssl, int (*cb)(SSL *ssl, int is_forward_secure))
102
103 for use by SSL/TLS servers; the callback function will be called whenever a
104 new session is created, and gets to decide whether the session may be
105 cached to make it resumable (return 0) or not (return 1). (As by the
106 SSL/TLS protocol specifications, the session_id sent by the server will be
107 empty to indicate that the session is not resumable; also, the server will
108 not generate RFC 4507 (RFC 5077) session tickets.)
109
110 A simple reasonable callback implementation is to return is_forward_secure.
111 This parameter will be set to 1 or 0 depending on the ciphersuite selected
112 by the SSL/TLS server library, indicating whether it can provide forward
113 security.
114