initiated support of caIssuers accessLocation

This commit is contained in:
Andreas Steffen
2007-08-17 08:01:10 +00:00
parent 2a48f47406
commit 9a63ddd84d
+15 -4
View File
@@ -659,16 +659,27 @@ static void parse_authorityInfoAccess(chunk_t blob, int level0, linked_list_t *l
switch (accessMethod) switch (accessMethod)
{ {
case OID_OCSP: case OID_OCSP:
if (*object.ptr == ASN1_CONTEXT_S_6) case OID_CA_ISSUERS:
{ {
identification_t *accessLocation; identification_t *accessLocation;
if (asn1_length(&object) == ASN1_INVALID_LENGTH) accessLocation = parse_generalName(object, level+1);
if (accessLocation == NULL)
{
/* parsing went wrong - abort */
return; return;
DBG2(" '%.*s'",(int)object.len, object.ptr); }
accessLocation = identification_create_from_encoding(ID_DER_ASN1_GN_URI, object); DBG2(" '%D'", accessLocation);
if (accessMethod == OID_OCSP)
{
list->insert_last(list, (void *)accessLocation); list->insert_last(list, (void *)accessLocation);
} }
else
{
/* caIsssuer accessLocation is not used yet */
accessLocation->destroy(accessLocation);
}
}
break; break;
default: default:
/* unkown accessMethod, ignoring */ /* unkown accessMethod, ignoring */