aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/openssl/openssl_x509.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-08-10 17:43:48 +0200
committerMartin Willi <martin@revosec.ch>2010-08-10 18:46:31 +0200
commita0a8aaaf4ffa9a74a7978e902fb9bea270efb8b2 (patch)
treeb4169740edab74106fa0d13cdd643f4141d6c165 /src/libstrongswan/plugins/openssl/openssl_x509.c
parent772cba39e48a7b1b1e0a4d0d43a807d08254a9a3 (diff)
downloadstrongswan-a0a8aaaf4ffa9a74a7978e902fb9bea270efb8b2.tar.bz2
strongswan-a0a8aaaf4ffa9a74a7978e902fb9bea270efb8b2.tar.xz
Parse UPN subjectAltName in openssl plugin
Diffstat (limited to 'src/libstrongswan/plugins/openssl/openssl_x509.c')
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_x509.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/openssl/openssl_x509.c b/src/libstrongswan/plugins/openssl/openssl_x509.c
index 1c9bb699e..4659e1e88 100644
--- a/src/libstrongswan/plugins/openssl/openssl_x509.c
+++ b/src/libstrongswan/plugins/openssl/openssl_x509.c
@@ -187,6 +187,15 @@ static identification_t *general_name2id(GENERAL_NAME *name)
}
case GEN_DIRNAME :
return openssl_x509_name2id(name->d.directoryName);
+ case GEN_OTHERNAME:
+ if (OBJ_obj2nid(name->d.otherName->type_id) == NID_ms_upn &&
+ name->d.otherName->value->type == V_ASN1_UTF8STRING)
+ {
+ return identification_create_from_encoding(ID_RFC822_ADDR,
+ openssl_asn1_str2chunk(
+ name->d.otherName->value->value.utf8string));
+ }
+ return NULL;
default:
return NULL;
}