diff options
author | Martin Willi <martin@revosec.ch> | 2012-11-27 10:02:37 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-12-19 10:32:07 +0100 |
commit | ed1c430334761f1c9e9054ced5145d4e4b176b3c (patch) | |
tree | 70340fddeab7809c255046b59d9e9adfe3c8dde8 | |
parent | 9de6a7a85cc64da9951d28b1cf7728ba93a3c97b (diff) | |
download | strongswan-ed1c430334761f1c9e9054ced5145d4e4b176b3c.tar.bz2 strongswan-ed1c430334761f1c9e9054ced5145d4e4b176b3c.tar.xz |
certificate_t.has_subject() matches for certificate serialNumber
-rw-r--r-- | src/libstrongswan/plugins/openssl/openssl_x509.c | 4 | ||||
-rw-r--r-- | src/libstrongswan/plugins/x509/x509_cert.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/openssl/openssl_x509.c b/src/libstrongswan/plugins/openssl/openssl_x509.c index b847c0a63..676b97f7a 100644 --- a/src/libstrongswan/plugins/openssl/openssl_x509.c +++ b/src/libstrongswan/plugins/openssl/openssl_x509.c @@ -327,6 +327,10 @@ METHOD(certificate_t, has_subject, id_match_t, { return ID_MATCH_PERFECT; } + if (chunk_equals(get_serial(this), encoding)) + { + return ID_MATCH_PERFECT; + } } best = this->subject->matches(this->subject, subject); enumerator = create_subjectAltName_enumerator(this); diff --git a/src/libstrongswan/plugins/x509/x509_cert.c b/src/libstrongswan/plugins/x509/x509_cert.c index c93b83bef..85c481552 100644 --- a/src/libstrongswan/plugins/x509/x509_cert.c +++ b/src/libstrongswan/plugins/x509/x509_cert.c @@ -1547,6 +1547,10 @@ METHOD(certificate_t, has_subject, id_match_t, { return ID_MATCH_PERFECT; } + if (chunk_equals(this->serialNumber, encoding)) + { + return ID_MATCH_PERFECT; + } } best = this->subject->matches(this->subject, subject); enumerator = this->subjectAltNames->create_enumerator(this->subjectAltNames); |