ldns  1.7.0
Data Fields
ldns_struct_key Struct Reference

General key structure, can contain all types of keys that are used in DNSSEC. More...

Data Fields

ldns_signing_algorithm _alg
 
signed char _use
 Whether to use this key when signing. More...
 
struct {
   EVP_PKEY *   key
 
   struct {
      unsigned char *   key
 
      size_t   size
 
   }   hmac
 The key can be an HMAC key. More...
 
   void *   external_key
 the key structure can also just point to some external key data More...
 
_key
 Storage pointers for the types of keys supported. More...
 
union {
   struct {
      uint32_t   orig_ttl
 The TTL of the rrset that is currently signed. More...
 
      uint32_t   inception
 The inception date of signatures made with this key. More...
 
      uint32_t   expiration
 The expiration date of signatures made with this key. More...
 
      uint16_t   keytag
 The keytag of this key. More...
 
      uint16_t   flags
 The dnssec key flags as specified in RFC4035, like ZSK and KSK. More...
 
   }   dnssec
 Some values that influence generated signatures. More...
 
_extra
 Depending on the key we can have extra data. More...
 
ldns_rdf_pubkey_owner
 Owner name of the key. More...
 

Detailed Description

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 ldns_rr with type 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.

Definition at line 126 of file keys.h.

Field Documentation

◆ _alg

ldns_signing_algorithm ldns_struct_key::_alg

Definition at line 127 of file keys.h.

◆ _use

signed char ldns_struct_key::_use

Whether to use this key when signing.

Definition at line 129 of file keys.h.

◆ key [1/2]

EVP_PKEY* ldns_struct_key::key

Definition at line 137 of file keys.h.

◆ key [2/2]

unsigned char* ldns_struct_key::key

Definition at line 144 of file keys.h.

◆ size

size_t ldns_struct_key::size

Definition at line 145 of file keys.h.

◆ hmac

struct { ... } ldns_struct_key::hmac

The key can be an HMAC key.

◆ external_key

void* ldns_struct_key::external_key

the key structure can also just point to some external key data

Definition at line 150 of file keys.h.

◆ _key

struct { ... } ldns_struct_key::_key

Storage pointers for the types of keys supported.

◆ orig_ttl

uint32_t ldns_struct_key::orig_ttl

The TTL of the rrset that is currently signed.

Definition at line 157 of file keys.h.

◆ inception

uint32_t ldns_struct_key::inception

The inception date of signatures made with this key.

Definition at line 159 of file keys.h.

◆ expiration

uint32_t ldns_struct_key::expiration

The expiration date of signatures made with this key.

Definition at line 161 of file keys.h.

◆ keytag

uint16_t ldns_struct_key::keytag

The keytag of this key.

Definition at line 163 of file keys.h.

◆ flags

uint16_t ldns_struct_key::flags

The dnssec key flags as specified in RFC4035, like ZSK and KSK.

Definition at line 165 of file keys.h.

◆ dnssec

struct { ... } ldns_struct_key::dnssec

Some values that influence generated signatures.

◆ _extra

union { ... } ldns_struct_key::_extra

Depending on the key we can have extra data.

◆ _pubkey_owner

ldns_rdf* ldns_struct_key::_pubkey_owner

Owner name of the key.

Definition at line 169 of file keys.h.