From 1e7673d07308081f13e7bb1829cfed2ccd865ea0 Mon Sep 17 00:00:00 2001 From: Masahiro Matsuya Date: Fri, 13 Nov 2020 17:37:59 +0100 Subject: [PATCH] Add support for pkcs11 certificate and key for repository authorization msg: Add support for pkcs11 certificate and key for repository authorization type: enhancement resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1859495 --- librepo/handle.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/librepo/handle.c b/librepo/handle.c index d8728c4..33edf5d 100644 --- a/librepo/handle.c +++ b/librepo/handle.c @@ -649,6 +649,9 @@ lr_handle_setopt(LrHandle *handle, lr_free(handle->sslclientcert); handle->sslclientcert = g_strdup(va_arg(arg, char *)); c_rc = curl_easy_setopt(c_h, CURLOPT_SSLCERT, handle->sslclientcert); + if (c_rc == CURLE_OK && handle->sslclientcert && !strncasecmp(handle->sslclientcert, "pkcs11:", 7)) { + c_rc = curl_easy_setopt(c_h, CURLOPT_SSLCERTTYPE, "ENG"); + } break; case LRO_SSLCLIENTKEY: @@ -656,6 +659,9 @@ lr_handle_setopt(LrHandle *handle, lr_free(handle->sslclientkey); handle->sslclientkey = g_strdup(va_arg(arg, char *)); c_rc = curl_easy_setopt(c_h, CURLOPT_SSLKEY, handle->sslclientkey); + if (c_rc == CURLE_OK && handle->sslclientkey && !strncasecmp(handle->sslclientkey, "pkcs11:", 7)) { + c_rc = curl_easy_setopt(c_h, CURLOPT_SSLKEYTYPE, "ENG"); + } break; case LRO_SSLCACERT: -- 2.26.2