From 28c25485baf30aeee2ea84ca5dee81639697fb47 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Sun, 20 Dec 2009 15:53:39 +0100 Subject: [PATCH] discard certificate with unknown critical extensions --- src/libstrongswan/plugins/x509/x509_cert.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libstrongswan/plugins/x509/x509_cert.c b/src/libstrongswan/plugins/x509/x509_cert.c index 623a26803..fc68cdc7b 100644 --- a/src/libstrongswan/plugins/x509/x509_cert.c +++ b/src/libstrongswan/plugins/x509/x509_cert.c @@ -905,6 +905,14 @@ static bool parse_certificate(private_x509_cert_t *this) } break; default: + if (critical && lib->settings->get_bool(lib->settings, + "libstrongswan.plugins.x509_cert.enforce_critical", FALSE)) + { + DBG1("critical %s extension not supported", + (extn_oid == OID_UNKNOWN) ? "unknown" : + (char*)oid_names[extn_oid].name); + goto end; + } break; } break;