Latest update.
This commit is contained in:
@@ -9,29 +9,119 @@
|
||||
|
||||
Changes between 1.1.1 and 3.0.0 [xx XXX xxxx]
|
||||
|
||||
*) X509 certificates signed using SHA1 are no longer allowed at security
|
||||
level 1 and above.
|
||||
In TLS/SSL the default security level is 1. It can be set either
|
||||
using the cipher string with @SECLEVEL, or calling
|
||||
SSL_CTX_set_security_level(). If the leaf certificate is signed with SHA-1,
|
||||
a call to SSL_CTX_use_certificate() will fail if the security level is not
|
||||
lowered first.
|
||||
Outside TLS/SSL, the default security level is -1 (effectively 0). It can
|
||||
be set using X509_VERIFY_PARAM_set_auth_level() or using the -auth_level
|
||||
options of the apps.
|
||||
[Kurt Roeckx]
|
||||
|
||||
*) Reworked the treatment of EC EVP_PKEYs with the SM2 curve to
|
||||
automatically become EVP_PKEY_SM2 rather than EVP_PKEY_EC.
|
||||
This means that applications don't have to look at the curve NID and
|
||||
'EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2)' to get SM2 computations.
|
||||
However, they still can, that EVP_PKEY_set_alias_type() call acts as
|
||||
a no-op when the EVP_PKEY is already of the given type.
|
||||
|
||||
Parameter and key generation is also reworked to make it possible
|
||||
to generate EVP_PKEY_SM2 parameters and keys without having to go
|
||||
through EVP_PKEY_EC generation and then change the EVP_PKEY type.
|
||||
However, code that does the latter will still work as before.
|
||||
[Richard Levitte]
|
||||
|
||||
*) Deprecated low level ECDH and ECDSA functions. These include:
|
||||
|
||||
ECDH_compute_key, ECDSA_do_sign, ECDSA_do_sign_ex, ECDSA_do_verify,
|
||||
ECDSA_sign_setup, ECDSA_sign, ECDSA_sign_ex, ECDSA_verify and
|
||||
ECDSA_size.
|
||||
|
||||
Use of these low level functions has been informally discouraged for a long
|
||||
time. Instead applications should use the EVP_PKEY_derive(3),
|
||||
EVP_DigestSign(3) and EVP_DigestVerify(3) functions.
|
||||
[Paul Dale]
|
||||
|
||||
*) Deprecated the EC_KEY_METHOD functions. These include:
|
||||
|
||||
EC_KEY_METHOD_new, EC_KEY_METHOD_free, EC_KEY_METHOD_set_init,
|
||||
EC_KEY_METHOD_set_keygen, EC_KEY_METHOD_set_compute_key,
|
||||
EC_KEY_METHOD_set_sign, EC_KEY_METHOD_set_verify,
|
||||
EC_KEY_METHOD_get_init, EC_KEY_METHOD_get_keygen,
|
||||
EC_KEY_METHOD_get_compute_key, EC_KEY_METHOD_get_sign and
|
||||
EC_KEY_METHOD_get_verify.
|
||||
|
||||
Instead applications and extension writers should use the OSSL_PROVIDER
|
||||
APIs.
|
||||
[Paul Dale]
|
||||
|
||||
*) Deprecated EVP_PKEY_decrypt_old(), please use EVP_PKEY_decrypt_init()
|
||||
and EVP_PKEY_decrypt() instead.
|
||||
Deprecated EVP_PKEY_encrypt_old(), please use EVP_PKEY_encrypt_init()
|
||||
and EVP_PKEY_encrypt() instead.
|
||||
[Richard Levitte]
|
||||
|
||||
*) Enhanced the documentation of EVP_PKEY_size(), EVP_PKEY_bits()
|
||||
and EVP_PKEY_security_bits(). Especially EVP_PKEY_size() needed
|
||||
a new formulation to include all the things it can be used for,
|
||||
as well as words of caution.
|
||||
[Richard Levitte]
|
||||
|
||||
*) The SSL_CTX_set_tlsext_ticket_key_cb(3) function has been deprecated.
|
||||
Instead used the new SSL_CTX_set_tlsext_ticket_key_evp_cb(3) function.
|
||||
[Paul Dale]
|
||||
|
||||
*) All of the low level HMAC functions have been deprecated including:
|
||||
HMAC, HMAC_size, HMAC_CTX_new, HMAC_CTX_reset, HMAC_CTX_free,
|
||||
HMAC_Init_ex, HMAC_Update, HMAC_Final, HMAC_CTX_copy, HMAC_CTX_set_flags
|
||||
and HMAC_CTX_get_md.
|
||||
Use of these low level functions has been informally discouraged for a long
|
||||
time. Instead applications should use L<EVP_MAC_CTX_new(3)>,
|
||||
L<EVP_MAC_CTX_free(3)>, L<EVP_MAC_init(3)>, L<EVP_MAC_update(3)>
|
||||
and L<EVP_MAC_final(3)>.
|
||||
[Paul Dale]
|
||||
|
||||
*) All of the low level CMAC functions have been deprecated including:
|
||||
CMAC_CTX_new, CMAC_CTX_cleanup, CMAC_CTX_free, CMAC_CTX_get0_cipher_ctx,
|
||||
CMAC_CTX_copy, CMAC_Init, CMAC_Update, CMAC_Final and CMAC_resume.
|
||||
Use of these low level functions has been informally discouraged for a long
|
||||
time. Instead applications should use L<EVP_MAC_CTX_new(3)>,
|
||||
L<EVP_MAC_CTX_free(3)>, L<EVP_MAC_init(3)>, L<EVP_MAC_update(3)>
|
||||
and L<EVP_MAC_final(3)>.
|
||||
[Paul Dale]
|
||||
|
||||
*) Over two thousand fixes were made to the documentation, including:
|
||||
- Common options (such as -rand/-writerand, TLS version control, etc)
|
||||
were refactored and point to newly-enhanced descriptions in openssl.pod.
|
||||
- Added style conformance for all options (with help from Richard Levitte),
|
||||
documented all reported missing options, added a CI build to check
|
||||
that all options are documented and that no unimplemented options
|
||||
are documented.
|
||||
- Documented some internals, such as all use of environment variables.
|
||||
- Addressed all internal broken L<> references.
|
||||
[Rich Salz]
|
||||
|
||||
*) All of the low level MD2, MD4, MD5, MDC2, RIPEMD160, SHA1, SHA224, SHA256,
|
||||
SHA384, SHA512 and Whirlpool digest functions have been deprecated.
|
||||
These include:
|
||||
MD2, MD2_options, MD2_Init, MD2_Update, MD2_Final, MD4, MD4_Init,
|
||||
MD4_Update, MD4_Final, MD4_Transform, MD5, MD5_Init, MD5_Update,
|
||||
MD5_Final, MD5_Transform, MDC2, MDC2_Init, MDC2_Update, MDC2_Final,
|
||||
RIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final,
|
||||
RIPEMD160_Transform, SHA1_Init, SHA1_Update, SHA1_Final,
|
||||
SHA1_Transform, SHA224_Init, SHA224_Update, SHA224_Final,
|
||||
SHA224_Transform, SHA256_Init, SHA256_Update, SHA256_Final,
|
||||
SHA256_Transform, SHA384, SHA384_Init, SHA384_Update, SHA384_Final,
|
||||
SHA512, SHA512_Init, SHA512_Update, SHA512_Final, SHA512_Transform,
|
||||
WHIRLPOOL, WHIRLPOOL_Init, WHIRLPOOL_Update, WHIRLPOOL_BitUpdate
|
||||
and WHIRLPOOL_Final.
|
||||
Use of these low level functions has been informally discouraged for a long
|
||||
time. Instead applications should instead use the EVP_DigestInit_ex,
|
||||
EVP_DigestUpdate(3) and EVP_DigestFinal_ex(3) functions.
|
||||
|
||||
MD2, MD2_options, MD2_Init, MD2_Update, MD2_Final, MD4, MD4_Init,
|
||||
MD4_Update, MD4_Final, MD4_Transform, MD5, MD5_Init, MD5_Update,
|
||||
MD5_Final, MD5_Transform, MDC2, MDC2_Init, MDC2_Update, MDC2_Final,
|
||||
RIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final,
|
||||
RIPEMD160_Transform, SHA1_Init, SHA1_Update, SHA1_Final, SHA1_Transform,
|
||||
SHA224_Init, SHA224_Update, SHA224_Final, SHA224_Transform, SHA256_Init,
|
||||
SHA256_Update, SHA256_Final, SHA256_Transform, SHA384, SHA384_Init,
|
||||
SHA384_Update, SHA384_Final, SHA512, SHA512_Init, SHA512_Update,
|
||||
SHA512_Final, SHA512_Transform, WHIRLPOOL, WHIRLPOOL_Init,
|
||||
WHIRLPOOL_Update, WHIRLPOOL_BitUpdate and WHIRLPOOL_Final.
|
||||
|
||||
Use of these low level functions has been informally discouraged
|
||||
for a long time. Applications should use the EVP_DigestInit_ex(3),
|
||||
EVP_DigestUpdate(3) and EVP_DigestFinal_ex(3) functions instead.
|
||||
[Paul Dale]
|
||||
|
||||
*) Corrected the documentation of the return values from the EVP_DigestSign*
|
||||
@@ -44,6 +134,7 @@
|
||||
[Richard Levitte]
|
||||
|
||||
*) All of the low level cipher functions have been deprecated including:
|
||||
|
||||
AES_options, AES_set_encrypt_key, AES_set_decrypt_key, AES_encrypt,
|
||||
AES_decrypt, AES_ecb_encrypt, AES_cbc_encrypt, AES_cfb128_encrypt,
|
||||
AES_cfb1_encrypt, AES_cfb8_encrypt, AES_ofb128_encrypt,
|
||||
@@ -74,10 +165,10 @@
|
||||
SEED_set_key, SEED_encrypt, SEED_decrypt, SEED_ecb_encrypt,
|
||||
SEED_cbc_encrypt, SEED_cfb128_encrypt and SEED_ofb128_encrypt.
|
||||
|
||||
Use of these low level functions has been informally discouraged for a long
|
||||
time. Instead applications should use the high level EVP APIs, e.g.
|
||||
Use of these low level functions has been informally discouraged for
|
||||
a long time. Applications should use the high level EVP APIs, e.g.
|
||||
EVP_EncryptInit_ex, EVP_EncryptUpdate, EVP_EncryptFinal_ex, and the
|
||||
equivalently named decrypt functions.
|
||||
equivalently named decrypt functions instead.
|
||||
[Matt Caswell and Paul Dale]
|
||||
|
||||
*) Removed include/openssl/opensslconf.h.in and replaced it with
|
||||
@@ -225,15 +316,6 @@
|
||||
pages for further details.
|
||||
[Matt Caswell]
|
||||
|
||||
*) Most common options (such as -rand/-writerand, TLS version control, etc)
|
||||
were refactored and point to newly-enhanced descriptions in openssl.pod
|
||||
[Rich Salz]
|
||||
|
||||
*) Over two thousand fixes were made to the documentation, including:
|
||||
adding missing command flags, better style conformance, documentation
|
||||
of internals, etc.
|
||||
[Rich Salz, Richard Levitte]
|
||||
|
||||
*) s390x assembly pack: add hardware-support for P-256, P-384, P-521,
|
||||
X25519, X448, Ed25519 and Ed448.
|
||||
[Patrick Steuer]
|
||||
@@ -1025,9 +1107,9 @@
|
||||
bytes long. In theory it is permissible in SSLv3 - TLSv1.2 to fragment such
|
||||
alerts across multiple records (some of which could be empty). In practice
|
||||
it make no sense to send an empty alert record, or to fragment one. TLSv1.3
|
||||
prohibts this altogether and other libraries (BoringSSL, NSS) do not
|
||||
prohibits this altogether and other libraries (BoringSSL, NSS) do not
|
||||
support this at all. Supporting it adds significant complexity to the
|
||||
record layer, and its removal is unlikely to cause inter-operability
|
||||
record layer, and its removal is unlikely to cause interoperability
|
||||
issues.
|
||||
[Matt Caswell]
|
||||
|
||||
@@ -4044,7 +4126,7 @@
|
||||
implementations).
|
||||
[Emilia Käsper, Adam Langley, Bodo Moeller (Google)]
|
||||
|
||||
*) Use type ossl_ssize_t instad of ssize_t which isn't available on
|
||||
*) Use type ossl_ssize_t instead of ssize_t which isn't available on
|
||||
all platforms. Move ssize_t definition from e_os.h to the public
|
||||
header file e_os2.h as it now appears in public header file cms.h
|
||||
[Steve Henson]
|
||||
@@ -8765,7 +8847,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
||||
|
||||
*) New OCSP utility. Allows OCSP requests to be generated or
|
||||
read. The request can be sent to a responder and the output
|
||||
parsed, outputed or printed in text form. Not complete yet:
|
||||
parsed, outputted or printed in text form. Not complete yet:
|
||||
still needs to check the OCSP response validity.
|
||||
[Steve Henson]
|
||||
|
||||
@@ -9760,7 +9842,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
||||
[Andy Polyakov]
|
||||
|
||||
*) Modified SSL library such that the verify_callback that has been set
|
||||
specificly for an SSL object with SSL_set_verify() is actually being
|
||||
specifically for an SSL object with SSL_set_verify() is actually being
|
||||
used. Before the change, a verify_callback set with this function was
|
||||
ignored and the verify_callback() set in the SSL_CTX at the time of
|
||||
the call was used. New function X509_STORE_CTX_set_verify_cb() introduced
|
||||
@@ -10877,10 +10959,10 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
||||
as other interfaces in OpenSSL, like the BIO interface.
|
||||
NCONF_dump_* dump the internal storage of the configuration file,
|
||||
which is useful for debugging. All other functions take the same
|
||||
arguments as the old CONF_* functions wth the exception of the
|
||||
arguments as the old CONF_* functions with the exception of the
|
||||
first that must be a `CONF *' instead of a `LHASH *'.
|
||||
|
||||
To make it easer to use the new classes with the old CONF_* functions,
|
||||
To make it easier to use the new classes with the old CONF_* functions,
|
||||
the function CONF_set_default_method is provided.
|
||||
[Richard Levitte]
|
||||
|
||||
@@ -12723,7 +12805,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
||||
than the old method: it now uses a modified version of Ulf's parser to
|
||||
read the ANSI prototypes in all header files (thus the old K&R definitions
|
||||
aren't needed for error creation any more) and do a better job of
|
||||
translating function codes into names. The old 'ASN1 error code imbedded
|
||||
translating function codes into names. The old 'ASN1 error code embedded
|
||||
in a comment' is no longer necessary and it doesn't use .err files which
|
||||
have now been deleted. Also the error code call doesn't have to appear all
|
||||
on one line (which resulted in some large lines...).
|
||||
@@ -13024,7 +13106,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
||||
|
||||
*) Add a useful kludge to allow package maintainers to specify compiler and
|
||||
other platforms details on the command line without having to patch the
|
||||
Configure script everytime: One now can use ``perl Configure
|
||||
Configure script every time: One now can use ``perl Configure
|
||||
<id>:<details>'', i.e. platform ids are allowed to have details appended
|
||||
to them (separated by colons). This is treated as there would be a static
|
||||
pre-configured entry in Configure's %table under key <id> with value
|
||||
|
||||
Reference in New Issue
Block a user