OpenDNSSEC-signer  1.4.9
Data Structures | Typedefs | Functions
keys.h File Reference
#include "shared/allocator.h"
#include "shared/status.h"
#include <ldns/ldns.h>
#include <libhsm.h>
#include <libhsmdns.h>
Include dependency graph for keys.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  key_struct
 
struct  keylist_struct
 

Typedefs

typedef struct key_struct key_type
 
typedef struct keylist_struct keylist_type
 

Functions

keylist_typekeylist_create (void *sc)
 
key_typekeylist_lookup_by_locator (keylist_type *kl, const char *locator)
 
key_typekeylist_lookup_by_dnskey (keylist_type *kl, ldns_rr *dnskey)
 
key_typekeylist_push (keylist_type *kl, const char *locator, uint8_t algorithm, uint32_t flags, int publish, int ksk, int zsk, int rfc5011)
 
void keylist_print (FILE *fd, keylist_type *kl)
 
void keylist_log (keylist_type *kl, const char *name)
 
void keylist_cleanup (keylist_type *kl)
 
key_typekey_recover2 (FILE *fd, keylist_type *kl)
 
void keylist_backup (FILE *fd, keylist_type *kl, const char *version)
 

Typedef Documentation

typedef struct key_struct key_type

Signing keys. Key.

Definition at line 53 of file keys.h.

typedef struct keylist_struct keylist_type

Key list.

Definition at line 71 of file keys.h.

Function Documentation

key_type* key_recover2 ( FILE *  fd,
keylist_type kl 
)

Recover key from backup.

Parameters
[in]fdfile descriptor of key backup file
[in]klkey list to print
Returns
key_type* key

Recover key from backup.

Definition at line 310 of file keys.c.

References backup_read_check_str(), backup_read_int(), backup_read_str(), backup_read_uint32_t(), backup_read_uint8_t(), keylist_push(), and ods_log_assert.

Referenced by zone_recover2().

void keylist_backup ( FILE *  fd,
keylist_type kl,
const char *  version 
)

Backup key list.

Parameters
[in]fdfile descriptor
[in]klkey list to print
[in]versionversion string

Backup key list.

Definition at line 353 of file keys.c.

References keylist_struct::count, and keylist_struct::keys.

Referenced by zone_backup2().

void keylist_cleanup ( keylist_type kl)
keylist_type* keylist_create ( void *  sc)

Create a new key list.

Parameters
[in]scsigner configuration reference
Returns
keylist_type* key list

Create a new key list.

Definition at line 47 of file keys.c.

References signconf_struct::allocator, allocator_alloc(), keylist_struct::count, keylist_struct::keys, ods_log_error(), and keylist_struct::sc.

Referenced by parse_sc_keys(), and zone_recover2().

void keylist_log ( keylist_type kl,
const char *  name 
)

Log key list.

Parameters
[in]klkey list to print
[in]namezone name

Log key list.

Definition at line 230 of file keys.c.

References keylist_struct::count, key_struct::hsmkey, keylist_struct::keys, key_struct::locator, and key_struct::params.

Referenced by signconf_log().

key_type* keylist_lookup_by_dnskey ( keylist_type kl,
ldns_rr *  dnskey 
)

Lookup a key in the key list by dnskey.

Parameters
[in]klkey list
[in]dnskeydnskey
Returns
key_type* key if it exists, NULL otherwise

Lookup a key in the key list by dnskey.

Definition at line 96 of file keys.c.

References keylist_struct::count, key_struct::dnskey, and keylist_struct::keys.

key_type* keylist_lookup_by_locator ( keylist_type kl,
const char *  locator 
)

Lookup a key in the key list by locator.

Parameters
[in]klkey list
[in]locatorkey locator
Returns
key_type* key if it exists, NULL otherwise

Lookup a key in the key list by locator.

Definition at line 74 of file keys.c.

References keylist_struct::count, keylist_struct::keys, key_struct::locator, and ods_strcmp().

Referenced by parse_sc_keys(), and rrset_del_rrsig().

void keylist_print ( FILE *  fd,
keylist_type kl 
)

Print key list.

Parameters
[in]fdfile descriptor
[in]klkey list to print

Print key list.

Definition at line 212 of file keys.c.

References keylist_struct::count, and keylist_struct::keys.

Referenced by signconf_print().

key_type* keylist_push ( keylist_type kl,
const char *  locator,
uint8_t  algorithm,
uint32_t  flags,
int  publish,
int  ksk,
int  zsk,
int  rfc5011 
)

Push a key to the keylist.

Parameters
[in]klkey list
[in]locatorstring that identifies location of key
[in]algorithmDNSKEY algorithm field value
[in]flagsDNSKEY flags field value
[in]publishif true, publish key as a DNSKEY
[in]kskif true, sign DNSKEY RRset with this key
[in]zskif true, sign all but DNSKEY RRset with this key
[in]rfc5011if true, key will use 5011 style revocation
Returns
key_type* key

Push a key to the key list.

Definition at line 118 of file keys.c.

References key_struct::algorithm, signconf_struct::allocator, allocator_alloc(), allocator_deallocate(), keylist_struct::count, key_struct::dnskey, key_struct::flags, key_struct::hsmkey, keylist_struct::keys, key_struct::ksk, key_struct::locator, ods_fatal_exit(), ods_log_assert, ods_log_debug(), key_struct::params, key_struct::publish, key_struct::rfc5011, keylist_struct::sc, and key_struct::zsk.

Referenced by key_recover2(), and parse_sc_keys().