![]() |
Subversion
|
Subversion's X509 parser. More...
#include <apr_pools.h>
#include <apr_tables.h>
#include <apr_time.h>
#include "svn_error.h"
#include "svn_checksum.h"
Go to the source code of this file.
Typedefs | |
typedef struct svn_x509_certinfo_t | svn_x509_certinfo_t |
Representation of parsed certificate info. More... | |
typedef struct svn_x509_name_attr_t | svn_x509_name_attr_t |
Representation of an atttribute in an X.509 name (e.g. More... | |
Functions | |
svn_error_t * | svn_x509_parse_cert (svn_x509_certinfo_t **certinfo, const char *buf, apr_size_t buflen, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Parse x509 der certificate data from buf with length buflen and return certificate information in *certinfo, allocated in result_pool. More... | |
svn_x509_name_attr_t * | svn_x509_name_attr_dup (const svn_x509_name_attr_t *attr, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Returns a deep copy of the attr, allocated in result_pool. More... | |
const unsigned char * | svn_x509_name_attr_get_oid (const svn_x509_name_attr_t *attr, apr_size_t *len) |
Returns the OID of attr as encoded in the certificate. More... | |
const char * | svn_x509_name_attr_get_value (const svn_x509_name_attr_t *attr) |
Returns the value of attr as a UTF-8 C string. More... | |
svn_x509_certinfo_t * | svn_x509_certinfo_dup (const svn_x509_certinfo_t *certinfo, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Returns a deep copy of certinfo, allocated in result_pool. More... | |
const char * | svn_x509_certinfo_get_subject (const svn_x509_certinfo_t *certinfo, apr_pool_t *result_pool) |
Returns the subject DN from certinfo. More... | |
const apr_array_header_t * | svn_x509_certinfo_get_subject_attrs (const svn_x509_certinfo_t *certinfo) |
Returns a list of the attributes for the subject in the certinfo. More... | |
const char * | svn_x509_certinfo_get_issuer (const svn_x509_certinfo_t *certinfo, apr_pool_t *result_pool) |
Returns the cerficiate issuer DN from certinfo. More... | |
const apr_array_header_t * | svn_x509_certinfo_get_issuer_attrs (const svn_x509_certinfo_t *certinfo) |
Returns a list of the attributes for the issuer in the certinfo. More... | |
apr_time_t | svn_x509_certinfo_get_valid_from (const svn_x509_certinfo_t *certinfo) |
Returns the start of the certificate validity period from certinfo. More... | |
apr_time_t | svn_x509_certinfo_get_valid_to (const svn_x509_certinfo_t *certinfo) |
Returns the end of the certificate validity period from certinfo. More... | |
const svn_checksum_t * | svn_x509_certinfo_get_digest (const svn_x509_certinfo_t *certinfo) |
Returns the digest (fingerprint) from certinfo. More... | |
const apr_array_header_t * | svn_x509_certinfo_get_hostnames (const svn_x509_certinfo_t *certinfo) |
Returns an array of (const char*) host names from certinfo. More... | |
const char * | svn_x509_oid_to_string (const unsigned char *oid, apr_size_t oid_len, apr_pool_t *scratch_pool, apr_pool_t *result_pool) |
Given an oid return a null-terminated C string representation. More... | |
Subversion's X509 parser.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations
Definition in file svn_x509.h.
typedef struct svn_x509_certinfo_t svn_x509_certinfo_t |
Representation of parsed certificate info.
Definition at line 54 of file svn_x509.h.
typedef struct svn_x509_name_attr_t svn_x509_name_attr_t |
Representation of an atttribute in an X.509 name (e.g.
Subject or Issuer)
Definition at line 61 of file svn_x509.h.
svn_x509_certinfo_t* svn_x509_certinfo_dup | ( | const svn_x509_certinfo_t * | certinfo, |
apr_pool_t * | result_pool, | ||
apr_pool_t * | scratch_pool | ||
) |
Returns a deep copy of certinfo, allocated in result_pool.
May use scratch_pool for temporary allocations.
const svn_checksum_t* svn_x509_certinfo_get_digest | ( | const svn_x509_certinfo_t * | certinfo | ) |
Returns the digest (fingerprint) from certinfo.
const apr_array_header_t* svn_x509_certinfo_get_hostnames | ( | const svn_x509_certinfo_t * | certinfo | ) |
Returns an array of (const char*) host names from certinfo.
const char* svn_x509_certinfo_get_issuer | ( | const svn_x509_certinfo_t * | certinfo, |
apr_pool_t * | result_pool | ||
) |
Returns the cerficiate issuer DN from certinfo.
const apr_array_header_t* svn_x509_certinfo_get_issuer_attrs | ( | const svn_x509_certinfo_t * | certinfo | ) |
Returns a list of the attributes for the issuer in the certinfo.
Each member of the list is of type svn_x509_name_attr_t.
const char* svn_x509_certinfo_get_subject | ( | const svn_x509_certinfo_t * | certinfo, |
apr_pool_t * | result_pool | ||
) |
Returns the subject DN from certinfo.
const apr_array_header_t* svn_x509_certinfo_get_subject_attrs | ( | const svn_x509_certinfo_t * | certinfo | ) |
Returns a list of the attributes for the subject in the certinfo.
Each member of the list is of type svn_x509_name_attr_t.
apr_time_t svn_x509_certinfo_get_valid_from | ( | const svn_x509_certinfo_t * | certinfo | ) |
Returns the start of the certificate validity period from certinfo.
apr_time_t svn_x509_certinfo_get_valid_to | ( | const svn_x509_certinfo_t * | certinfo | ) |
Returns the end of the certificate validity period from certinfo.
svn_x509_name_attr_t* svn_x509_name_attr_dup | ( | const svn_x509_name_attr_t * | attr, |
apr_pool_t * | result_pool, | ||
apr_pool_t * | scratch_pool | ||
) |
Returns a deep copy of the attr, allocated in result_pool.
May use scratch_pool for temporary allocations.
const unsigned char* svn_x509_name_attr_get_oid | ( | const svn_x509_name_attr_t * | attr, |
apr_size_t * | len | ||
) |
Returns the OID of attr as encoded in the certificate.
The length of the OID will be set in len.
const char* svn_x509_name_attr_get_value | ( | const svn_x509_name_attr_t * | attr | ) |
Returns the value of attr as a UTF-8 C string.
const char* svn_x509_oid_to_string | ( | const unsigned char * | oid, |
apr_size_t | oid_len, | ||
apr_pool_t * | scratch_pool, | ||
apr_pool_t * | result_pool | ||
) |
Given an oid return a null-terminated C string representation.
For example an OID with the bytes "\x2A\x86\x48\x86\xF7\x0D\x01\x09\x01" would be converted to the string "1.2.840.113549.1.9.1". Returns NULL if the oid can't be represented as a string.
svn_error_t* svn_x509_parse_cert | ( | svn_x509_certinfo_t ** | certinfo, |
const char * | buf, | ||
apr_size_t | buflen, | ||
apr_pool_t * | result_pool, | ||
apr_pool_t * | scratch_pool | ||
) |
Parse x509 der certificate data from buf with length buflen and return certificate information in *certinfo, allocated in result_pool.