29 #if LDNS_BUILD_CONFIG_HAVE_SSL
30 #include <openssl/ssl.h>
31 #include <openssl/err.h>
118 #if LDNS_BUILD_CONFIG_USE_DANE
130 const ldns_rdf* name, uint16_t port,
134 #if LDNS_BUILD_CONFIG_HAVE_SSL
180 X509* cert, STACK_OF(X509)* extra_certs,
181 X509_STORE* pkix_validation_store,
243 X509* cert, STACK_OF(X509)* extra_certs,
244 X509_STORE* pkix_validation_store);
280 X509* cert, STACK_OF(X509)* extra_certs,
281 X509_STORE* pkix_validation_store);
Common definitions for LDNS.
ldns_enum_tlsa_selector
The different "Selector" rdata field values for a TLSA RR.
@ LDNS_TLSA_SELECTOR_PRIVSEL
Reserved for Private Use.
@ LDNS_TLSA_SELECTOR_SPKI
SubjectPublicKeyInfo: DER-encoded binary structure as defined in [RFC5280].
@ LDNS_TLSA_SELECTOR_SUBJECTPUBLICKEYINFO
@ LDNS_TLSA_SELECTOR_FULL_CERTIFICATE
@ LDNS_TLSA_SELECTOR_CERT
Full certificate: the Certificate binary structure as defined in [RFC5280].
ldns_status ldns_dane_cert2rdf(ldns_rdf **rdf, X509 *cert, ldns_tlsa_selector selector, ldns_tlsa_matching_type matching_type)
Creates a LDNS_RDF_TYPE_HEX type rdf based on the binary data chosen by the selector and encoded usin...
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)
Creates a TLSA resource record from the certificate.
enum ldns_enum_tlsa_selector ldns_tlsa_selector
enum ldns_enum_dane_transport ldns_dane_transport
ldns_enum_tlsa_certificate_usage
The different "Certificate usage" rdata field values for a TLSA RR.
@ LDNS_TLSA_USAGE_PRIVCERT
Reserved for Private Use.
@ LDNS_TLSA_USAGE_SERVICE_CERTIFICATE_CONSTRAINT
@ LDNS_TLSA_USAGE_DOMAIN_ISSUED_CERTIFICATE
@ LDNS_TLSA_USAGE_TRUST_ANCHOR_ASSERTION
@ LDNS_TLSA_USAGE_DANE_EE
Domain issued certificate.
@ LDNS_TLSA_USAGE_CA_CONSTRAINT
@ LDNS_TLSA_USAGE_PKIX_EE
Service certificate constraint.
@ LDNS_TLSA_USAGE_PKIX_TA
CA constraint.
@ LDNS_TLSA_USAGE_DANE_TA
Trust anchor assertion.
ldns_status ldns_dane_verify_rr(const ldns_rr *tlsa_rr, X509 *cert, STACK_OF(X509) *extra_certs, X509_STORE *pkix_validation_store)
BEWARE! We strongly recommend to use OpenSSL 1.1.0 dane verification functions instead of the ones pr...
ldns_status ldns_dane_verify(const ldns_rr_list *tlsas, X509 *cert, STACK_OF(X509) *extra_certs, X509_STORE *pkix_validation_store)
BEWARE! We strongly recommend to use OpenSSL 1.1.0 dane verification functions instead of the ones pr...
enum ldns_enum_tlsa_certificate_usage ldns_tlsa_certificate_usage
enum ldns_enum_tlsa_matching_type ldns_tlsa_matching_type
ldns_enum_dane_transport
Known transports to use with TLSA owner names.
@ LDNS_DANE_TRANSPORT_UDP
UDP.
@ LDNS_DANE_TRANSPORT_TCP
TCP.
@ LDNS_DANE_TRANSPORT_SCTP
SCTP.
ldns_status ldns_dane_create_tlsa_owner(ldns_rdf **tlsa_owner, const ldns_rdf *name, uint16_t port, ldns_dane_transport transport)
Creates a dname consisting of the given name, prefixed by the service port and type of transport: _po...
ldns_enum_tlsa_matching_type
The different "Matching type" rdata field values for a TLSA RR.
@ LDNS_TLSA_MATCHING_TYPE_FULL
Exact match on selected content.
@ LDNS_TLSA_MATCHING_TYPE_SHA256
@ LDNS_TLSA_MATCHING_TYPE_SHA2_512
SHA-512 hash of selected content [RFC6234].
@ LDNS_TLSA_MATCHING_TYPE_NO_HASH_USED
@ LDNS_TLSA_MATCHING_TYPE_SHA2_256
SHA-256 hash of selected content [RFC6234].
@ LDNS_TLSA_MATCHING_TYPE_SHA512
@ LDNS_TLSA_MATCHING_TYPE_PRIVMATCH
Reserved for Private Use.
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 index)
Selects the certificate from cert, extra_certs or the pkix_validation_store based on the value of cer...
enum ldns_enum_status ldns_status
Defines ldns_rdf and functions to manipulate those.
Contains the definition of ldns_rr and functions to manipulate those.
Resource record data field.
List or Set of Resource Records.