static int raw_pubkey_to_base64(const gnutls_datum_t * raw,
gnutls_datum_t * b64);
-static int x509_crt_to_raw_pubkey(const gnutls_datum_t * cert,
- gnutls_datum_t * rpubkey);
static int pgp_crt_to_raw_pubkey(const gnutls_datum_t * cert,
gnutls_datum_t * rpubkey);
static int verify_pubkey(const char *file, const char *host,
return 0;
}
-static int x509_crt_to_raw_pubkey(const gnutls_datum_t * cert,
- gnutls_datum_t * rpubkey)
+/* Converts an X.509 certificate to subjectPublicKeyInfo */
+int x509_crt_to_raw_pubkey(const gnutls_datum_t * cert,
+ gnutls_datum_t * rpubkey)
{
gnutls_x509_crt_t crt = NULL;
gnutls_pubkey_t pubkey = NULL;
time_t _gnutls_x509_generalTime2gtime(const char *ttime);
-int get_extension(ASN1_TYPE asn, const char *root,
+int _gnutls_get_extension(ASN1_TYPE asn, const char *root,
const char *extension_id, int indx,
gnutls_datum_t * ret, unsigned int *_critical);
-int set_extension(ASN1_TYPE asn, const char *root,
+int _gnutls_set_extension(ASN1_TYPE asn, const char *root,
const char *ext_id,
const gnutls_datum_t * ext_data, unsigned int critical);
int _san_othername_to_virtual(const char *oid, size_t oid_size);
+int x509_crt_to_raw_pubkey(const gnutls_datum_t * cert,
+ gnutls_datum_t * rpubkey);
+
#endif
#include <gnutls_datum.h>
int
-get_extension(ASN1_TYPE asn, const char *root,
+_gnutls_get_extension(ASN1_TYPE asn, const char *root,
const char *extension_id, int indx,
gnutls_datum_t * ret, unsigned int *_critical)
{
const char *extension_id, int indx,
gnutls_datum_t * data, unsigned int *critical)
{
- return get_extension(cert->cert, "tbsCertificate.extensions",
+ return _gnutls_get_extension(cert->cert, "tbsCertificate.extensions",
extension_id, indx, data, critical);
}
gnutls_datum_t * data,
unsigned int *critical)
{
- return get_extension(crl->crl, "tbsCertList.crlExtensions",
+ return _gnutls_get_extension(crl->crl, "tbsCertList.crlExtensions",
extension_id, indx, data, critical);
}
}
int
-set_extension(ASN1_TYPE asn, const char *root,
+_gnutls_set_extension(ASN1_TYPE asn, const char *root,
const char *ext_id,
const gnutls_datum_t * ext_data, unsigned int critical)
{
const gnutls_datum_t * ext_data,
unsigned int critical)
{
- return set_extension(cert->cert, "tbsCertificate.extensions",
+ return _gnutls_set_extension(cert->cert, "tbsCertificate.extensions",
ext_id, ext_data, critical);
}
const gnutls_datum_t * ext_data,
unsigned int critical)
{
- return set_extension(crl->crl, "tbsCertList.crlExtensions", ext_id,
+ return _gnutls_set_extension(crl->crl, "tbsCertList.crlExtensions", ext_id,
ext_data, critical);
}
}
}
- result = set_extension(c2, "", ext_id, ext_data, critical);
+ result = _gnutls_set_extension(c2, "", ext_id, ext_data, critical);
if (result < 0) {
gnutls_assert();
asn1_delete_structure(&c2);
return GNUTLS_E_INVALID_REQUEST;
}
- return set_extension(req->req, "tbsRequest.requestExtensions", oid,
+ return _gnutls_set_extension(req->req, "tbsRequest.requestExtensions", oid,
data, critical);
}
return GNUTLS_E_INVALID_REQUEST;
}
- ret = get_extension(req->req, "tbsRequest.requestExtensions",
+ ret = _gnutls_get_extension(req->req, "tbsRequest.requestExtensions",
GNUTLS_OCSP_NONCE, 0, &tmp, critical);
if (ret != GNUTLS_E_SUCCESS) {
gnutls_assert();
memcpy(dernonce.data + 1, temp, len);
memcpy(dernonce.data + 1 + len, nonce->data, nonce->size);
- ret = set_extension(req->req, "tbsRequest.requestExtensions",
+ ret = _gnutls_set_extension(req->req, "tbsRequest.requestExtensions",
GNUTLS_OCSP_NONCE, &dernonce, critical);
gnutls_free(dernonce.data);
if (ret != GNUTLS_E_SUCCESS) {
gnutls_datum_t tmp;
ret =
- get_extension(resp->basicresp,
+ _gnutls_get_extension(resp->basicresp,
"tbsResponseData.responseExtensions",
GNUTLS_OCSP_NONCE, 0, &tmp, critical);
if (ret != GNUTLS_E_SUCCESS) {