dane.h
Go to the documentation of this file.
1 /*
2  * dane.h -- defines for the DNS-Based Authentication of Named Entities (DANE)
3  * Transport Layer Security (TLS) Protocol: TLSA
4  *
5  * Copyright (c) 2012, NLnet Labs. All rights reserved.
6  *
7  * See LICENSE for the license.
8  *
9  */
10 
23 #ifndef LDNS_DANE_H
24 #define LDNS_DANE_H
25 
26 #include <ldns/common.h>
27 #include <ldns/rdata.h>
28 #include <ldns/rr.h>
29 #if LDNS_BUILD_CONFIG_HAVE_SSL
30 #include <openssl/ssl.h>
31 #include <openssl/err.h>
32 #endif /* LDNS_BUILD_CONFIG_HAVE_SSL */
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
42 {
51 };
53 
58 {
64 
70 };
72 
77 {
84 };
86 
91 {
98 };
100 
101 
113  const ldns_rdf* name, uint16_t port,
114  ldns_dane_transport transport);
115 
116 
117 #if LDNS_BUILD_CONFIG_HAVE_SSL
118 
129 ldns_status ldns_dane_cert2rdf(ldns_rdf** rdf, X509* cert,
130  ldns_tlsa_selector selector,
131  ldns_tlsa_matching_type matching_type);
132 
133 
162 ldns_status ldns_dane_select_certificate(X509** selected_cert,
163  X509* cert, STACK_OF(X509)* extra_certs,
164  X509_STORE* pkix_validation_store,
165  ldns_tlsa_certificate_usage cert_usage, int index);
166 
181  ldns_tlsa_certificate_usage certificate_usage,
182  ldns_tlsa_selector selector,
183  ldns_tlsa_matching_type matching_type,
184  X509* cert);
185 
210  X509* cert, STACK_OF(X509)* extra_certs,
211  X509_STORE* pkix_validation_store);
212 
235  X509* cert, STACK_OF(X509)* extra_certs,
236  X509_STORE* pkix_validation_store);
237 #endif /* LDNS_BUILD_CONFIG_HAVE_SSL */
238 
239 #ifdef __cplusplus
240 }
241 #endif
242 
243 #endif /* LDNS_DANE_H */
244