ldns(3)

NAME
ldns_key

SYNOPSIS
#include <stdint.h>
#include <stdbool.h>

#include <ldns/ldns.h>

DESCRIPTION

ldns_key
General key structure, can contain all types of keys that
are used in DNSSEC. Mostly used to store private keys, since
public keys can also be stored in a ef ldns_rr with type
ef LDNS_RR_TYPE_DNSKEY.
This structure can also store some variables that influence the
signatures generated by signing with this key, for instance the
inception date.
struct ldns_struct_key {
    ldns_signing_algorithm _alg;
    Storage pointers for the types of keys supported:
    /* TODO remove unions? */
    struct {
#ifdef HAVE_SSL
    RSA    *rsa;
    DSA    *dsa;
#endif /* HAVE_SSL */
        struct {
            unsigned char *key;
            size_t size;
        } hmac;
    } _key;
    Depending on the key we can have extra data:
    union {
                Some values that influence generated signatures:
        struct {
            The TTL of the rrset that is currently signed:
            uint32_t orig_ttl;
            The inception date of signatures made with this key.:
            uint32_t inception;
            The expiration date of signatures made with this key.:
            uint32_t expiration;
            The keytag of this key.:
            uint16_t keytag;
            The dnssec key flags as specified in RFC4035, like ZSK and KSK:
            uint16_t flags;
        } dnssec;
    } _extra;
    Owner name of the key:
    ldns_rdf *_pubkey_owner;
};
typedef struct ldns_struct_key ldns_key;

AUTHOR
The ldns team at NLnet Labs. Which consists out of Jelte Jansen and Miek Gieben.

REPORTING BUGS
Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at http://www.nlnetlabs.nl/bugs/index.html

COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.

Licensed under the BSD License. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
ldns_key_new, ldns_key_new_frm_algorithm, ldns_key_new_frm_fp, ldns_key_new_frm_fp_l, ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l, ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l, ldns_key_list_new, ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_list_push_key, ldns_key_list_pop_key, ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags, ldns_key2rr, ldns_key_free, ldns_key_deep_free, ldns_key_list_free, ldns_key_print. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.

REMARKS
This manpage was automaticly generated from the ldns source code by use of Doxygen and some perl.