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.
First release, based on OpenSSL 3.6.0.
Changes from YuOpenSSL-3.5:
EVP_SKEY opaque symmetric key objects to the key derivation and key exchange provider methods. Added EVP_KDF_CTX_set_SKEY, EVP_KDF_derive_SKEY, and EVP_PKEY_derive_SKEY functions.i2d_PKCS8PrivateKey API to complement i2d_PrivateKey, the former always outputs PKCS#8.SSL_poll signals completion. This allows applications to progress shutdown reliably.CRYPTO_malloc_array.CRYPTO_THREAD_get_local / CRYPTO_THREAD_set_local API to reduce the usage of OS thread-local variables.OSSL_PARAM name parsing so that automatically generated parsers are used instead of OSSL_PARAM_locate calls. This should also ensure that the list of acceptable parameters better matches those which are actually processed. It should also provide a small performance improvement, because repeated iteration over passed parameter arrays is avoided.SSL_OP_SERVER_PREFERENCE, superseding misleadingly named SSL_OP_CIPHER_SERVER_PREFERENCE.file: scheme implementation for OSSL_STORE_open and friends. Previously, when the file: scheme is an explicit part of the URI, our implementation required an absolute path, such as file:/path/to/file.pem. This requirement is now relaxed, allowing file:path/to/file.pem, as well as file:file.pem.OPENSSL_STACK_ptr stack types. Using a thunk allows the type specific free function to be called with the correct type information from generic functions like OPENSSL_sk_pop_free.SSL_OP_LEGACY_EC_POINT_FORMATS flag and options to re-enable previous default, if required.macsaltlen from 8 to 16, as, per NIST SP 800-132.X509_CRL_get0_tbs_sigalg accessor for the signature lgorithmIdentifier inside CRL's TBSCertList.Update the Brotli built-in decompressor to v1.2.0, with reduced binary size.