summaryrefslogtreecommitdiffstats
path: root/ssl_openssl.c
diff options
context:
space:
mode:
Diffstat (limited to 'ssl_openssl.c')
-rw-r--r--ssl_openssl.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/ssl_openssl.c b/ssl_openssl.c
index 1ba73ef..8f5fa98 100644
--- a/ssl_openssl.c
+++ b/ssl_openssl.c
@@ -313,6 +313,23 @@ tls_ctx_load_pkcs12(struct tls_root_ctx *ctx, const char *pkcs12_file,
return 0;
}
+#ifdef ENABLE_PKCS11
+int
+tls_ctx_load_pkcs11(struct tls_root_ctx *ctx, bool pkcs11_id_management,
+ const char *pkcs11_id)
+{
+ ASSERT(NULL != ctx);
+
+ /* Load Certificate and Private Key */
+ if (!SSL_CTX_use_pkcs11 (ctx->ctx, pkcs11_id_management, pkcs11_id))
+ {
+ msg (M_WARN, "Cannot load certificate \"%s\" using PKCS#11 interface", pkcs11_id);
+ return 1;
+ }
+ return 0;
+}
+#endif /* ENABLE_PKCS11 */
+
void
show_available_tls_ciphers ()
{