YuOpenSSL is a Delphi port of the OpenSSL cryptography and SSL/TSL library. All code is statically compiled into applications. OpenSSL DLLs are not needed. Over 5000 functions, procedures, constants, and types are ready to use in a single Delphi unit.
SSL_select_next_proto
(CVE-2024-5535).First release, based on OpenSSL 3.3.1.
Changes from OpenSSL 3.3:
SSL_write_ex2
, which can be used to send an end-of-stream (FIN) condition in an optimised way when using QUIC.EVP_DigestSqueeze
API. This allows SHAKE to squeeze multiple times with different output sizes.EVP_PKEY_fromdata
function has been augmented to allow for the derivation of CRT (Chinese Remainder Theorem) parameters when requestedSSL_SESSION_get_time_ex
and SSL_SESSION_set_time_ex
using C_time_t
which is Y2038 safe on 32 bit systems when 64 bit time is enabledSSL_CTX_set1_sigalgs
and SSL_CTX_set1_client_sigalgs
that start with '?' character are ignored and the configuration will still be used.SSL_OP_PREFER_NO_DHE_KEX
, which allows configuring a TLS1.3 server to prefer session resumption using PSK-only key exchange over PSK with DHE, if both are available.X509_STORE_get1_objects
to avoid issues with the existing X509_STORE_get0_objects API in multi-threaded applications.d2i_ASN1_GENERALIZEDTIME
, d2i_ASN1_UTCTIME
, ASN1_TIME_check
, and related functions have been augmented to check for a minimum length of the input string, in accordance with ITU-T X.690 section 11.7 and 11.8.OPENSSL_sk_push
and other sk_xxx_push()
functions now return 0 instead of -1 if called with a nil
stack argument.BIO_get_new_index
function can only be called 127 times before it reaches its upper bound of BIO_TYPE_MASK
and will now return -1 once its exhausted.Changes from OpenSSL 3.2:
Changes from OpenSSL 3.1: