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
 
bool _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 122 of file keys.h.

Field Documentation

◆ _alg

ldns_signing_algorithm ldns_struct_key::_alg

Definition at line 123 of file keys.h.

◆ _use

bool ldns_struct_key::_use

Whether to use this key when signing.

Definition at line 125 of file keys.h.

◆ key [1/2]

EVP_PKEY* ldns_struct_key::key

Definition at line 133 of file keys.h.

◆ key [2/2]

unsigned char* ldns_struct_key::key

Definition at line 140 of file keys.h.

◆ size

size_t ldns_struct_key::size

Definition at line 141 of file keys.h.

◆ 

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 146 of file keys.h.

◆ 

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 153 of file keys.h.

◆ inception

uint32_t ldns_struct_key::inception

The inception date of signatures made with this key.

Definition at line 155 of file keys.h.

◆ expiration

uint32_t ldns_struct_key::expiration

The expiration date of signatures made with this key.

Definition at line 157 of file keys.h.

◆ keytag

uint16_t ldns_struct_key::keytag

The keytag of this key.

Definition at line 159 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 161 of file keys.h.

◆ 

struct { ... } ldns_struct_key::dnssec

Some values that influence generated signatures.

◆ 

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 165 of file keys.h.