From c002e4ba76ad3c06042736ae7fa886d26cb10c10 Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Fri, 9 Jul 2021 19:21:00 -0700 Subject: [PATCH] Support hybrid ECDSA / RSA certificate loading --- tool/net/redbean.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tool/net/redbean.c b/tool/net/redbean.c index 9c285d24c..ff534d155 100644 --- a/tool/net/redbean.c +++ b/tool/net/redbean.c @@ -680,7 +680,9 @@ static void InternCertificate(mbedtls_x509_crt *cert, mbedtls_x509_crt *prev) { } for (i = 0; i < certs.n; ++i) { if (!certs.p[i].cert) continue; - if (!mbedtls_x509_name_cmp(&cert->subject, &certs.p[i].cert->subject)) { + if (mbedtls_pk_get_type(&cert->pk) == + mbedtls_pk_get_type(&certs.p[i].cert->pk) && + !mbedtls_x509_name_cmp(&cert->subject, &certs.p[i].cert->subject)) { WARNF("certificate subject name %`'s is already loaded", gc(FormatX509Name(&cert->subject))); return;