openssl: add support to use keys and certificates from PKCS#11 provider

In OpenSSL < 3.0, the modularity was provided by mechanism called
"engines". This is supported in curl, but the engines got deprecated
with OpenSSL 3.0 in favor of more versatile providers.

This adds a support for OpenSSL Providers, to use PKCS#11 keys, namely
through the pkcs11 provider. This is done using similar approach as the
engines and this is automatically built in when the OpenSSL 3 and newer
is used.

Signed-off-by: Jakub Jelen <jjelen@redhat.com>

Closes #15587
This commit is contained in:
Jakub Jelen 2024-11-14 17:57:48 +01:00 committed by Daniel Stenberg
parent d1336ca14a
commit 999cc818c5
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
9 changed files with 247 additions and 28 deletions

View file

@ -67,7 +67,7 @@ const struct helptxt helptext[] = {
"Verify server cert status OCSP-staple",
CURLHELP_TLS},
{" --cert-type <type>",
"Certificate type (DER/PEM/ENG/P12)",
"Certificate type (DER/PEM/ENG/PROV/P12)",
CURLHELP_TLS},
{" --ciphers <list>",
"TLS 1.2 (1.1, 1.0) ciphers to use",