| ES384_PK_NEW(3) | Library Functions Manual | ES384_PK_NEW(3) |
es384_pk_new, es384_pk_free,
es384_pk_from_EC_KEY,
es384_pk_from_EVP_PKEY,
es384_pk_from_ptr,
es384_pk_to_EVP_PKEY —
#include <openssl/ec.h>
#include <fido/es384.h>
es384_pk_t *
es384_pk_new(void);
void
es384_pk_free(es384_pk_t
**pkp);
int
es384_pk_from_EC_KEY(es384_pk_t
*pk, const EC_KEY
*ec);
int
es384_pk_from_EVP_PKEY(es384_pk_t
*pk, const EVP_PKEY
*pkey);
int
es384_pk_from_ptr(es384_pk_t
*pk, const void
*ptr, size_t
len);
EVP_PKEY *
es384_pk_to_EVP_PKEY(const
es384_pk_t *pk);
In libfido2, ES384 public keys are abstracted by the es384_pk_t type.
The es384_pk_new() function returns a
pointer to a newly allocated, empty es384_pk_t type.
If memory cannot be allocated, NULL is returned.
The es384_pk_free() function releases the
memory backing *pkp, where *pkp
must have been previously allocated by
es384_pk_new(). On return,
*pkp is set to NULL. Either pkp
or *pkp may be NULL, in which case
es384_pk_free() is a NOP.
The es384_pk_from_EC_KEY() function fills
pk with the contents of ec. No
references to ec are kept.
The es384_pk_from_EVP_PKEY() function
fills pk with the contents of
pkey. No references to pkey are
kept.
The es384_pk_from_ptr() function fills
pk with the contents of ptr,
where ptr points to len bytes.
The ptr pointer may point to an uncompressed point, or
to the concatenation of the x and y coordinates. No references to
ptr are kept.
The es384_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,
es384_pk_to_EVP_PKEY() returns NULL.
es384_pk_from_EC_KEY(),
es384_pk_from_EVP_PKEY(), and
es384_pk_from_ptr() functions return
FIDO_OK on success. On error, a different error code
defined in <fido/err.h> is
returned.
| $Mdocdate: July 15 2022 $ | NetBSD 10.1 |