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 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011 
00012 /* sign functions */
00013 
00015 #define LDNS_SIGN_DNSKEY_WITH_ZSK 1
00016 
00023 ldns_rr *
00024 ldns_create_empty_rrsig(ldns_rr_list *rrset,
00025                         ldns_key *key);
00026 
00034 ldns_rdf *
00035 ldns_sign_public_buffer(ldns_buffer *sign_buf, ldns_key *key);
00036 
00043 ldns_rr_list *ldns_sign_public(ldns_rr_list *rrset, ldns_key_list *keys);
00044 
00045 #if LDNS_BUILD_CONFIG_HAVE_SSL
00046 
00052 ldns_rdf *ldns_sign_public_dsa(ldns_buffer *to_sign, DSA *key);
00053 
00064 ldns_rdf *ldns_sign_public_evp(ldns_buffer *to_sign,
00065                                                  EVP_PKEY *key,
00066                                                  const EVP_MD *digest_type);
00067 
00074 ldns_rdf *ldns_sign_public_rsasha1(ldns_buffer *to_sign, RSA *key);
00075 
00082 ldns_rdf *ldns_sign_public_rsamd5(ldns_buffer *to_sign, RSA *key);
00083 #endif /* LDNS_BUILD_CONFIG_HAVE_SSL */
00084 
00099 ldns_status
00100 ldns_dnssec_zone_mark_and_get_glue(
00101                 ldns_dnssec_zone *zone, ldns_rr_list *glue_list);
00102 
00113 ldns_status
00114 ldns_dnssec_zone_mark_glue(ldns_dnssec_zone *zone);
00115 
00124 ldns_rbnode_t *ldns_dnssec_name_node_next_nonglue(ldns_rbnode_t *node);
00125 
00134 ldns_status ldns_dnssec_zone_create_nsecs(ldns_dnssec_zone *zone,
00135                                                                   ldns_rr_list *new_rrs);
00136 
00140 ldns_status
00141 ldns_dnssec_zone_create_nsec3s(ldns_dnssec_zone *zone,
00142                                                  ldns_rr_list *new_rrs,
00143                                                  uint8_t algorithm,
00144                                                  uint8_t flags,
00145                                                  uint16_t iterations,
00146                                                  uint8_t salt_length,
00147                                                  uint8_t *salt);
00148 
00163 ldns_dnssec_rrs *ldns_dnssec_remove_signatures(ldns_dnssec_rrs *signatures,
00164                                                                           ldns_key_list *key_list,
00165                                                                           int (*func)(ldns_rr *, void *),
00166                                                                           void *arg);
00167 
00186 ldns_status ldns_dnssec_zone_create_rrsigs_flg(ldns_dnssec_zone *zone,
00187                                         ldns_rr_list *new_rrs,
00188                                         ldns_key_list *key_list,
00189                                         int (*func)(ldns_rr *, void*),
00190                                         void *arg,
00191                                         int flags);
00192 
00206 ldns_status ldns_dnssec_zone_create_rrsigs(ldns_dnssec_zone *zone,
00207                                                                    ldns_rr_list *new_rrs,
00208                                                                    ldns_key_list *key_list,
00209                                                                    int (*func)(ldns_rr *, void*),
00210                                                                    void *arg);
00211 
00237 ldns_status ldns_dnssec_zone_sign_flg(ldns_dnssec_zone *zone,
00238                                         ldns_rr_list *new_rrs,
00239                                         ldns_key_list *key_list,
00240                                         int (*func)(ldns_rr *, void *),
00241                                         void *arg, 
00242                                         int flags);
00243 
00260 ldns_status ldns_dnssec_zone_sign_nsec3_flg(ldns_dnssec_zone *zone,
00261                                 ldns_rr_list *new_rrs,
00262                                 ldns_key_list *key_list,
00263                                 int (*func)(ldns_rr *, void *),
00264                                 void *arg,
00265                                 uint8_t algorithm,
00266                                 uint8_t flags,
00267                                 uint16_t iterations,
00268                                 uint8_t salt_length,
00269                                 uint8_t *salt,
00270                                 int signflags);
00271 
00291 ldns_status ldns_dnssec_zone_sign_nsec3_flg_mkmap(ldns_dnssec_zone *zone,
00292                                 ldns_rr_list *new_rrs,
00293                                 ldns_key_list *key_list,
00294                                 int (*func)(ldns_rr *, void *),
00295                                 void *arg,
00296                                 uint8_t algorithm,
00297                                 uint8_t flags,
00298                                 uint16_t iterations,
00299                                 uint8_t salt_length,
00300                                 uint8_t *salt,
00301                                 int signflags,
00302                                 ldns_rbtree_t **map
00303                                 );
00304 
00305 
00326 ldns_status ldns_dnssec_zone_sign(ldns_dnssec_zone *zone,
00327                                                     ldns_rr_list *new_rrs,
00328                                                     ldns_key_list *key_list,
00329                                                     int (*func)(ldns_rr *, void *),
00330                                                     void *arg);
00331 
00347 ldns_status ldns_dnssec_zone_sign_nsec3(ldns_dnssec_zone *zone,
00348                                                                 ldns_rr_list *new_rrs,
00349                                                                 ldns_key_list *key_list,
00350                                                                 int (*func)(ldns_rr *, void *),
00351                                                                 void *arg,
00352                                                                 uint8_t algorithm,
00353                                                                 uint8_t flags,
00354                                                                 uint16_t iterations,
00355                                                                 uint8_t salt_length,
00356                                                                 uint8_t *salt);
00357 
00364 ldns_zone *ldns_zone_sign(const ldns_zone *zone, ldns_key_list *key_list);
00365 
00377 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);
00378  
00379 #ifdef __cplusplus
00380 }
00381 #endif
00382 
00383 #endif

Generated on 8 Jun 2012 for ldns by  doxygen 1.6.1