dnssec_sign.h
Go to the documentation of this file.00001
00003 #ifndef LDNS_DNSSEC_SIGN_H
00004 #define LDNS_DNSSEC_SIGN_H
00005
00006 #include <ldns/dnssec.h>
00007
00008
00009
00016 ldns_rr_list *ldns_sign_public(ldns_rr_list *rrset, ldns_key_list *keys);
00017
00018 #ifdef HAVE_SSL
00019
00025 ldns_rdf *ldns_sign_public_dsa(ldns_buffer *to_sign, DSA *key);
00026
00037 ldns_rdf *ldns_sign_public_evp(ldns_buffer *to_sign,
00038 EVP_PKEY *key,
00039 const EVP_MD *digest_type);
00040
00047 ldns_rdf *ldns_sign_public_rsasha1(ldns_buffer *to_sign, RSA *key);
00048
00055 ldns_rdf *ldns_sign_public_rsamd5(ldns_buffer *to_sign, RSA *key);
00056 #endif
00057
00066 ldns_status
00067 ldns_dnssec_zone_create_nsecs(ldns_dnssec_zone *zone,
00068 ldns_rr_list *new_rrs);
00069
00084 ldns_dnssec_rrs *
00085 ldns_dnssec_remove_signatures(ldns_dnssec_rrs *signatures,
00086 ldns_key_list *key_list,
00087 int (*func)(ldns_rr *, void *),
00088 void *arg);
00089
00103 ldns_status
00104 ldns_dnssec_zone_create_rrsigs(ldns_dnssec_zone *zone,
00105 ldns_rr_list *new_rrs,
00106 ldns_key_list *key_list,
00107 int (*func)(ldns_rr *, void*),
00108 void *arg);
00109
00131 ldns_status ldns_dnssec_zone_sign(ldns_dnssec_zone *zone,
00132 ldns_rr_list *new_rrs,
00133 ldns_key_list *key_list,
00134 int (*func)(ldns_rr *, void *),
00135 void *arg);
00136
00152 ldns_status ldns_dnssec_zone_sign_nsec3(ldns_dnssec_zone *zone,
00153 ldns_rr_list *new_rrs,
00154 ldns_key_list *key_list,
00155 int (*func)(ldns_rr *, void *),
00156 void *arg,
00157 uint8_t algorithm,
00158 uint8_t flags,
00159 uint16_t iterations,
00160 uint8_t salt_length,
00161 uint8_t *salt);
00162
00169 ldns_zone *ldns_zone_sign(const ldns_zone *zone, ldns_key_list *key_list);
00170
00182 ldns_zone *ldns_zone_sign_nsec3(ldns_zone *zone, ldns_key_list *key_list, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt);
00183
00184
00185
00186 #endif