keys.h File Reference
`#include <ldns/ldns.h>`
`#include "status.h"`
`#include "libhsm.h"`
`#include "libhsmdns.h"`
`#include "signconf.h"`

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_type * | keylist_create (signconf_type *sc)
key_type * | keylist_lookup_by_locator (keylist_type *kl, const char *locator)
key_type * | keylist_push (keylist_type *kl, const char *locator, const char *resourcerecord, uint8_t algorithm, uint32_t flags, int publish, int ksk, int zsk)
void | keylist_log (keylist_type *kl, const char *name)
void | keylist_cleanup (keylist_type *kl)
key_type * | key_recover2 (FILE *fd, keylist_type *kl)
void | keylist_backup (FILE *fd, keylist_type *kl, const char *version)

## Typedef Documentation

## key_type

typedef struct key_struct key_type

Definition at line 38 of file keys.h.

## keylist_type

typedef struct keylist_struct keylist_type

Definition at line 39 of file keys.h.

## Function Documentation

## key_recover2()

key_type * key_recover2 | ( | FILE * | fd,
|  | keylist_type * | kl )

Recover key from backup.

Parameters

  [in] | fd | file descriptor of key backup file
  [in] | kl | key list to print

Returns
  key_type* key

Recover key from backup.

Definition at line 223 of file keys.c.

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

Referenced by zone_recover2().

## keylist_backup()

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

Backup key list.

Parameters

  [in] | fd | file descriptor
  [in] | kl | key list to print
  [in] | version | version string

Backup key list.

Definition at line 268 of file keys.c.

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

Referenced by zone_backup2().

## keylist_cleanup()

void keylist_cleanup | ( | keylist_type * | kl | ) |

extern

Clean up key list.

Parameters

  [in] | kl | key list to clean up

Clean up key list.

Definition at line 183 of file keys.c.

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

Referenced by signconf_cleanup().

## keylist_create()

keylist_type * keylist_create | ( | signconf_type * | signconf | ) |

extern

Create a new key list.

Parameters

  [in] | sc | signer configuration reference

Returns
  keylist_type* key list

Create a new key list.

Definition at line 48 of file keys.c.

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

Referenced by parse_sc_keys(), and zone_recover2().

## keylist_log()

void keylist_log | ( | keylist_type * | kl,
|  | const char * | name )

extern

Log key list.

Parameters

  [in] | kl | key list to print
  [in] | name | zone name

Log key list.

Definition at line 147 of file keys.c.

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

Referenced by signconf_log().

## keylist_lookup_by_locator()

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

extern

Lookup a key in the key list by locator.

Parameters

  [in] | kl | key list
  [in] | locator | key locator

Returns
  key_type* key if it exists, NULL otherwise

Lookup a key in the key list by locator.

Definition at line 73 of file keys.c.

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

Referenced by parse_sc_keys().

## keylist_push()

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

extern

Push a key to the keylist.

Parameters

  [in] | kl | key list
  [in] | locator | string that identifies location of key
  [in] | algorithm | DNSKEY algorithm field value
  [in] | flags | DNSKEY flags field value
  [in] | publish | if true, publish key as a DNSKEY
  [in] | ksk | if true, sign DNSKEY RRset with this key
  [in] | zsk | if true, sign all but DNSKEY RRset with this key

Returns
  key_type* key

Push a key to the key list.

Definition at line 95 of file keys.c.

References key_struct::algorithm, keylist_struct::count, key_struct::dnskey, key_struct::flags, keylist_struct::keys, key_struct::ksk, key_struct::locator, key_struct::params, key_struct::publish, key_struct::resourcerecord, and key_struct::zsk.

Referenced by key_recover2(), and parse_sc_keys().