iPXE
Data Structures | Functions | Variables
privkey.h File Reference

Private key. More...

#include <ipxe/asn1.h>
#include <ipxe/refcnt.h>

Go to the source code of this file.

Data Structures

struct  private_key
 A private key. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
static struct private_keyprivkey_get (struct private_key *key)
 Get reference to private key. More...
 
static void privkey_put (struct private_key *key)
 Drop reference to private key. More...
 
static struct asn1_cursorprivkey_cursor (struct private_key *key)
 Get private key ASN.1 cursor. More...
 
void privkey_free (struct refcnt *refcnt)
 Free private key. More...
 
static void privkey_init (struct private_key *key)
 Initialise empty private key. More...
 

Variables

struct private_key private_key
 Private key. More...
 

Detailed Description

Private key.

Definition in file privkey.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ privkey_get()

static struct private_key* privkey_get ( struct private_key key)
inlinestatic

Get reference to private key.

Parameters
keyPrivate key
Return values
keyPrivate key

Definition at line 30 of file privkey.h.

30  {
31  ref_get ( &key->refcnt );
32  return key;
33 }
#define ref_get(refcnt)
Get additional reference to object.
Definition: refcnt.h:92
union @382 key
Sense key.
Definition: crypto.h:284

References key, and ref_get.

Referenced by add_tls(), and tls_session().

◆ privkey_put()

static void privkey_put ( struct private_key key)
inlinestatic

Drop reference to private key.

Parameters
keyPrivate key

Definition at line 41 of file privkey.h.

41  {
42  ref_put ( &key->refcnt );
43 }
union @382 key
Sense key.
Definition: crypto.h:284
#define ref_put(refcnt)
Drop reference to object.
Definition: refcnt.h:106

References key, and ref_put.

Referenced by free_tls(), free_tls_session(), and icert_free().

◆ privkey_cursor()

static struct asn1_cursor* privkey_cursor ( struct private_key key)
inlinestatic

Get private key ASN.1 cursor.

Parameters
keyPrivate key
Return values
cursorASN.1 cursor

Definition at line 52 of file privkey.h.

52  {
53  return asn1_built ( &key->builder );
54 }
static struct asn1_cursor * asn1_built(struct asn1_builder *builder)
Get cursor for built object.
Definition: asn1.h:393
union @382 key
Sense key.
Definition: crypto.h:284

References asn1_built(), and key.

Referenced by tls_send_certificate_verify().

◆ privkey_free()

void privkey_free ( struct refcnt refcnt)

Free private key.

Parameters
refcntReference counter

Definition at line 94 of file privkey.c.

94  {
95  struct private_key *key =
97 
98  free ( key->builder.data );
99  free ( key );
100 }
A reference counter.
Definition: refcnt.h:26
#define container_of(ptr, type, field)
Get containing structure.
Definition: stddef.h:35
static void(* free)(struct refcnt *refcnt))
Definition: refcnt.h:54
A private key.
Definition: privkey.h:16
union @382 key
Sense key.
Definition: crypto.h:284

References container_of, free, and key.

Referenced by privkey_init().

◆ privkey_init()

static void privkey_init ( struct private_key key)
inlinestatic

Initialise empty private key.

Definition at line 63 of file privkey.h.

63  {
64  ref_init ( &key->refcnt, privkey_free );
65 }
#define ref_init(refcnt, free)
Initialise a reference counter.
Definition: refcnt.h:64
void privkey_free(struct refcnt *refcnt)
Free private key.
Definition: privkey.c:94
union @382 key
Sense key.
Definition: crypto.h:284

References key, privkey_free(), and ref_init.

Referenced by icert_certs().

Variable Documentation

◆ private_key

Private key.

Definition at line 67 of file privkey.c.

Referenced by rsa_match().