EDDSA_PK_NEW(3) | Library Functions Manual | EDDSA_PK_NEW(3) |
eddsa_pk_new
, eddsa_pk_free
,
eddsa_pk_from_EVP_PKEY
,
eddsa_pk_from_ptr
,
eddsa_pk_to_EVP_PKEY
—
#include <openssl/evp.h>
#include <fido/eddsa.h>
eddsa_pk_t *
eddsa_pk_new
(void);
void
eddsa_pk_free
(eddsa_pk_t
**pkp);
int
eddsa_pk_from_EVP_PKEY
(eddsa_pk_t
*pk, const EVP_PKEY
*pkey);
int
eddsa_pk_from_ptr
(eddsa_pk_t
*pk, const void
*ptr, size_t
len);
EVP_PKEY *
eddsa_pk_to_EVP_PKEY
(const
eddsa_pk_t *pk);
In libfido2, EDDSA public keys are abstracted by the eddsa_pk_t type.
The eddsa_pk_new
() function returns a
pointer to a newly allocated, empty eddsa_pk_t type.
If memory cannot be allocated, NULL is returned.
The eddsa_pk_free
() function releases the
memory backing *pkp, where *pkp
must have been previously allocated by
eddsa_pk_new
(). On return,
*pkp is set to NULL. Either pkp
or *pkp may be NULL, in which case
eddsa_pk_free
() is a NOP.
The eddsa_pk_from_EVP_PKEY
() function
fills pk with the contents of
pkey. No references to pkey are
kept.
The eddsa_pk_from_ptr
() function fills
pk with the contents of ptr,
where ptr points to len bytes.
No references to ptr are kept.
The eddsa_pk_to_EVP_PKEY
() function
converts pk to a newly allocated
EVP_PKEY type with a reference count of 1. No internal
references to the returned pointer are kept. If an error occurs,
eddsa_pk_to_EVP_PKEY
() returns NULL.
eddsa_pk_from_EVP_PKEY
() and
eddsa_pk_from_ptr
() functions return
FIDO_OK
on success. On error, a different error code
defined in <fido/err.h>
is
returned.
July 15, 2022 | Yubico AB |