Types and Values
MAX_CRQ_EXTENSIONS_SIZE
#define MAX_CRQ_EXTENSIONS_SIZE 8*1024
MAX_OID_SIZE
#define MAX_OID_SIZE 128
MAX_KEY_ID_SIZE
#define MAX_KEY_ID_SIZE 128
MAX_SALT_SIZE
#define MAX_SALT_SIZE 256
MAX_NAME_SIZE
#define MAX_NAME_SIZE (3*ASN1_MAX_NAME_SIZE)
HASH_OID_SHA1
#define HASH_OID_SHA1 "1.3.14.3.2.26"
HASH_OID_MD5
#define HASH_OID_MD5 "1.2.840.113549.2.5"
HASH_OID_MD2
#define HASH_OID_MD2 "1.2.840.113549.2.2"
HASH_OID_RMD160
#define HASH_OID_RMD160 "1.3.36.3.2.1"
HASH_OID_SHA224
#define HASH_OID_SHA224 "2.16.840.1.101.3.4.2.4"
HASH_OID_SHA256
#define HASH_OID_SHA256 "2.16.840.1.101.3.4.2.1"
HASH_OID_SHA384
#define HASH_OID_SHA384 "2.16.840.1.101.3.4.2.2"
HASH_OID_SHA512
#define HASH_OID_SHA512 "2.16.840.1.101.3.4.2.3"
HASH_OID_SHA3_224
#define HASH_OID_SHA3_224 "2.16.840.1.101.3.4.2.7"
HASH_OID_SHA3_256
#define HASH_OID_SHA3_256 "2.16.840.1.101.3.4.2.8"
HASH_OID_SHA3_384
#define HASH_OID_SHA3_384 "2.16.840.1.101.3.4.2.9"
HASH_OID_SHA3_512
#define HASH_OID_SHA3_512 "2.16.840.1.101.3.4.2.10"
HASH_OID_SHAKE_128
#define HASH_OID_SHAKE_128 "2.16.840.1.101.3.4.2.11"
HASH_OID_SHAKE_256
#define HASH_OID_SHAKE_256 "2.16.840.1.101.3.4.2.12"
HASH_OID_GOST_R_3411_94
#define HASH_OID_GOST_R_3411_94 "1.2.643.2.2.9"
HASH_OID_STREEBOG_256
#define HASH_OID_STREEBOG_256 "1.2.643.7.1.1.2.2"
HASH_OID_STREEBOG_512
#define HASH_OID_STREEBOG_512 "1.2.643.7.1.1.2.3"
HASH_OID_GOST_R_3411_94_CRYPTOPRO_PARAMS
#define HASH_OID_GOST_R_3411_94_CRYPTOPRO_PARAMS "1.2.643.2.2.30.1"
OID_ATTR_PROV_SEED
#define OID_ATTR_PROV_SEED "1.3.6.1.4.1.2312.18.8.1"
struct gnutls_x509_crl_iter
struct gnutls_x509_crl_iter {
/* This is used to optimize reads by gnutls_x509_crl_iter_crt_serial() */
asn1_node rcache;
unsigned rcache_idx;
};
gnutls_x509_crl_int
typedef struct {
asn1_node crl;
unsigned expanded;
/* This is used to optimize reads by gnutls_x509_crl_get_crt_serial2() */
asn1_node rcache;
unsigned rcache_idx;
int use_extensions;
gnutls_datum_t der;
gnutls_datum_t raw_issuer_dn;
} gnutls_x509_crl_int;
gnutls_x509_dn_st
typedef struct {
asn1_node asn;
} gnutls_x509_dn_st;
gnutls_x509_crt_int
typedef struct {
asn1_node cert;
int use_extensions;
unsigned expanded; /* a certificate has been expanded */
unsigned modified; /* the cached values below may no longer be valid */
unsigned flags;
struct pin_info_st pin;
/* These two cached values allow fast calls to
* get_raw_*_dn(). */
gnutls_datum_t raw_dn;
gnutls_datum_t raw_issuer_dn;
gnutls_datum_t raw_spki;
gnutls_datum_t der;
/* this cached value allows fast access to alt names */
gnutls_subject_alt_names_t san;
gnutls_subject_alt_names_t ian;
/* backwards compatibility for gnutls_x509_crt_get_subject()
* and gnutls_x509_crt_get_issuer() */
gnutls_x509_dn_st dn;
gnutls_x509_dn_st idn;
} gnutls_x509_crt_int;
gnutls_x509_crq_int
typedef struct {
asn1_node crq;
} gnutls_x509_crq_int;
gnutls_pkcs7_attrs_st
typedef struct {
char *oid;
gnutls_datum_t data;
struct gnutls_pkcs7_attrs_st *next;
} gnutls_pkcs7_attrs_st;
gnutls_pkcs7_int
typedef struct {
asn1_node pkcs7;
char encap_data_oid[MAX_OID_SIZE];
gnutls_datum_t der_signed_data;
asn1_node signed_data;
unsigned expanded;
} gnutls_pkcs7_int;
struct pbkdf2_params
struct pbkdf2_params {
uint8_t salt[MAX_SALT_SIZE];
int salt_size;
unsigned iter_count;
unsigned key_size;
gnutls_mac_algorithm_t mac;
};
gnutls_x509_privkey_int
typedef struct {
/* the size of params depends on the public
* key algorithm
*/
gnutls_pk_params_st params;
unsigned expanded;
unsigned flags;
asn1_node key;
struct pin_info_st pin;
} gnutls_x509_privkey_int;
OID_X520_COUNTRY_NAME
#define OID_X520_COUNTRY_NAME "2.5.4.6"
OID_X520_ORGANIZATION_NAME
#define OID_X520_ORGANIZATION_NAME "2.5.4.10"
OID_X520_ORGANIZATIONAL_UNIT_NAME
#define OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11"
OID_X520_COMMON_NAME
#define OID_X520_COMMON_NAME "2.5.4.3"
OID_X520_LOCALITY_NAME
#define OID_X520_LOCALITY_NAME "2.5.4.7"
OID_X520_STATE_OR_PROVINCE_NAME
#define OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8"
OID_LDAP_DC
#define OID_LDAP_DC "0.9.2342.19200300.100.1.25"
OID_LDAP_UID
#define OID_LDAP_UID "0.9.2342.19200300.100.1.1"
OID_PKCS9_EMAIL
#define OID_PKCS9_EMAIL "1.2.840.113549.1.9.1"
gnutls_pkcs12_int
typedef struct {
asn1_node pkcs12;
unsigned expanded;
} gnutls_pkcs12_int;
MAX_BAG_ELEMENTS
#define MAX_BAG_ELEMENTS 32
struct bag_element
struct bag_element {
gnutls_datum_t data;
gnutls_pkcs12_bag_type_t type;
gnutls_datum_t local_key_id;
char *friendly_name;
};
gnutls_pkcs12_bag_int
typedef struct {
struct bag_element element[MAX_BAG_ELEMENTS];
unsigned bag_elements;
} gnutls_pkcs12_bag_int;
BAG_PKCS8_KEY
#define BAG_PKCS8_KEY "1.2.840.113549.1.12.10.1.1"
BAG_PKCS8_ENCRYPTED_KEY
#define BAG_PKCS8_ENCRYPTED_KEY "1.2.840.113549.1.12.10.1.2"
BAG_CERTIFICATE
#define BAG_CERTIFICATE "1.2.840.113549.1.12.10.1.3"
BAG_CRL
#define BAG_CRL "1.2.840.113549.1.12.10.1.4"
BAG_SECRET
#define BAG_SECRET "1.2.840.113549.1.12.10.1.5"
FRIENDLY_NAME_OID
#define FRIENDLY_NAME_OID "1.2.840.113549.1.9.20"
KEY_ID_OID
#define KEY_ID_OID "1.2.840.113549.1.9.21"
gnutls_name_constraints_st
typedef struct {
struct name_constraints_node_st * permitted;
struct name_constraints_node_st * excluded;
} gnutls_name_constraints_st;
name_constraints_node_st
typedef struct {
unsigned type;
gnutls_datum_t name;
struct name_constraints_node_st *next;
} name_constraints_node_st;
struct gnutls_x509_tlsfeatures_st
struct gnutls_x509_tlsfeatures_st {
uint16_t feature[MAX_EXT_TYPES];
unsigned int size;
};