MCPcopy Create free account
hub / github.com/apache/httpd / md_cert_get_issuers_uri

Function md_cert_get_issuers_uri

modules/md/md_crypt.c:1336–1361  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1334}
1335
1336apr_status_t md_cert_get_issuers_uri(const char **puri, const md_cert_t *cert, apr_pool_t *p)
1337{
1338 apr_status_t rv = APR_ENOENT;
1339 STACK_OF(ACCESS_DESCRIPTION) *xinfos;
1340 const char *uri = NULL;
1341 unsigned char *buf;
1342 int i;
1343
1344 xinfos = X509_get_ext_d2i(cert->x509, NID_info_access, NULL, NULL);
1345 if (xinfos) {
1346 for (i = 0; i < sk_ACCESS_DESCRIPTION_num(xinfos); i++) {
1347 ACCESS_DESCRIPTION *val = sk_ACCESS_DESCRIPTION_value(xinfos, i);
1348 if (OBJ_obj2nid(val->method) == NID_ad_ca_issuers
1349 && val->location && val->location->type == GEN_URI) {
1350 ASN1_STRING_to_UTF8(&buf, val->location->d.uniformResourceIdentifier);
1351 uri = apr_pstrdup(p, (char *)buf);
1352 OPENSSL_free(buf);
1353 rv = APR_SUCCESS;
1354 break;
1355 }
1356 }
1357 sk_ACCESS_DESCRIPTION_pop_free(xinfos, ACCESS_DESCRIPTION_free);
1358 }
1359 *puri = (APR_SUCCESS == rv)? uri : NULL;
1360 return rv;
1361}
1362
1363apr_status_t md_cert_get_alt_names(apr_array_header_t **pnames, const md_cert_t *cert, apr_pool_t *p)
1364{

Callers 1

md_status.cFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected