diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-11-18 19:31:54 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-11-18 19:31:54 +0100 |
commit | 9e02a17f503668551356bdd10489b93c447834e4 (patch) | |
tree | 3ab0e52f14dca48efc1d56317a4cb2a259deb456 /lib/x509/common.h | |
parent | 96c38a6c89fe0b6f7d826c3588479ec861811054 (diff) | |
download | gnutls-9e02a17f503668551356bdd10489b93c447834e4.tar.gz |
Added functions to parse the certificate policies extention.
Added gnutls_x509_crt_get_policy() etc. In addition several updated in the
handling of strings in X.509 structures.
Diffstat (limited to 'lib/x509/common.h')
-rw-r--r-- | lib/x509/common.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/lib/x509/common.h b/lib/x509/common.h index 1ee919435b..4b38884434 100644 --- a/lib/x509/common.h +++ b/lib/x509/common.h @@ -66,13 +66,23 @@ #define ASN1_NULL "\x05\x00" #define ASN1_NULL_SIZE 2 +typedef enum x509_string_type { + RV_RAW, + RV_OCTET_STRING, + RV_BIT_STRING, + RV_IA5STRING, + RV_UTF8STRING +} x509_string_type; + int _gnutls_x509_set_time (ASN1_TYPE c2, const char *where, time_t tim, int general); -int _gnutls_x509_decode_octet_string (const char *string_type, - const uint8_t * der, size_t der_size, - uint8_t * output, size_t * output_size); -int _gnutls_x509_encode_octet_string(const void* input_data, size_t input_size, - gnutls_datum_t* output); +int _gnutls_x509_decode_string (const char *string_type, + const uint8_t * der, size_t der_size, + gnutls_datum_t *output); + +int _gnutls_x509_encode_string(const char* string_type, + const void* input_data, size_t input_size, + gnutls_datum_t* output); int _gnutls_x509_oid_data2string (const char *OID, void *value, int value_size, char *res, @@ -112,9 +122,11 @@ int _gnutls_x509_export_int_named2 (ASN1_TYPE asn1_data, const char *name, gnutls_datum_t * out); int _gnutls_x509_read_value (ASN1_TYPE c, const char *root, - gnutls_datum_t * ret, int str); + gnutls_datum_t * ret); +int _gnutls_x509_read_string (ASN1_TYPE c, const char *root, + gnutls_datum_t * ret, x509_string_type type); int _gnutls_x509_write_value (ASN1_TYPE c, const char *root, - const gnutls_datum_t * data, int str); + const gnutls_datum_t * data, x509_string_type type); int _gnutls_x509_encode_and_write_attribute (const char *given_oid, ASN1_TYPE asn1_struct, |