25 #if LDNS_BUILD_CONFIG_USE_DANE 30 #if LDNS_BUILD_CONFIG_HAVE_SSL 31 #include <openssl/ssl.h> 32 #include <openssl/err.h> 42 enum ldns_enum_tlsa_certificate_usage
45 LDNS_TLSA_USAGE_CA_CONSTRAINT = 0,
47 LDNS_TLSA_USAGE_SERVICE_CERTIFICATE_CONSTRAINT = 1,
49 LDNS_TLSA_USAGE_TRUST_ANCHOR_ASSERTION = 2,
51 LDNS_TLSA_USAGE_DOMAIN_ISSUED_CERTIFICATE = 3
53 typedef enum ldns_enum_tlsa_certificate_usage ldns_tlsa_certificate_usage;
58 enum ldns_enum_tlsa_selector
64 LDNS_TLSA_SELECTOR_FULL_CERTIFICATE = 0,
70 LDNS_TLSA_SELECTOR_SUBJECTPUBLICKEYINFO = 1
72 typedef enum ldns_enum_tlsa_selector ldns_tlsa_selector;
77 enum ldns_enum_tlsa_matching_type
80 LDNS_TLSA_MATCHING_TYPE_NO_HASH_USED = 0,
82 LDNS_TLSA_MATCHING_TYPE_SHA256 = 1,
84 LDNS_TLSA_MATCHING_TYPE_SHA512 = 2
86 typedef enum ldns_enum_tlsa_matching_type ldns_tlsa_matching_type;
91 enum ldns_enum_dane_transport
94 LDNS_DANE_TRANSPORT_TCP = 0,
96 LDNS_DANE_TRANSPORT_UDP = 1,
98 LDNS_DANE_TRANSPORT_SCTP = 2
100 typedef enum ldns_enum_dane_transport ldns_dane_transport;
114 const ldns_rdf* name, uint16_t port,
115 ldns_dane_transport transport);
118 #if LDNS_BUILD_CONFIG_HAVE_SSL 131 ldns_tlsa_selector selector,
132 ldns_tlsa_matching_type matching_type);
164 X509* cert, STACK_OF(X509)* extra_certs,
165 X509_STORE* pkix_validation_store,
166 ldns_tlsa_certificate_usage cert_usage,
int index);
182 ldns_tlsa_certificate_usage certificate_usage,
183 ldns_tlsa_selector selector,
184 ldns_tlsa_matching_type matching_type,
211 X509* cert, STACK_OF(X509)* extra_certs,
212 X509_STORE* pkix_validation_store);
236 X509* cert, STACK_OF(X509)* extra_certs,
237 X509_STORE* pkix_validation_store);
Defines ldns_rdf and functions to manipulate those.
List or Set of Resource Records.
Contains the definition of ldns_rr and functions to manipulate those.
ldns_status ldns_dane_create_tlsa_rr(ldns_rr **tlsa, ldns_tlsa_certificate_usage certificate_usage, ldns_tlsa_selector selector, ldns_tlsa_matching_type matching_type, X509 *cert)
ldns_status ldns_dane_cert2rdf(ldns_rdf **rdf, X509 *cert, ldns_tlsa_selector selector, ldns_tlsa_matching_type matching_type)
ldns_status ldns_dane_verify(ldns_rr_list *tlsas, X509 *cert, STACK_OF(X509)*extra_certs, X509_STORE *pkix_validation_store)
ldns_status ldns_dane_create_tlsa_owner(ldns_rdf **tlsa_owner, const ldns_rdf *name, uint16_t port, ldns_dane_transport transport)
ldns_status ldns_dane_verify_rr(const ldns_rr *tlsa_rr, X509 *cert, STACK_OF(X509)*extra_certs, X509_STORE *pkix_validation_store)
enum ldns_enum_status ldns_status
Resource record data field.
Common definitions for LDNS.
ldns_status ldns_dane_select_certificate(X509 **selected_cert, X509 *cert, STACK_OF(X509)*extra_certs, X509_STORE *pkix_validation_store, ldns_tlsa_certificate_usage cert_usage, int offset)