home | help
RS256_PK_NEW(3) 	     Library Functions Manual		 RS256_PK_NEW(3)

NAME
     rs256_pk_new,   rs256_pk_free,  rs256_pk_from_RSA,  rs256_pk_from_EVP_PKEY,
     rs256_pk_from_ptr, rs256_pk_to_EVP_PKEY -- FIDO2 COSE RS256 API

SYNOPSIS
     #include <openssl/rsa.h>
     #include <fido/rs256.h>

     rs256_pk_t *
     rs256_pk_new(void);

     void
     rs256_pk_free(rs256_pk_t **pkp);

     int
     rs256_pk_from_EVP_PKEY(rs256_pk_t *pk, const EVP_PKEY *pkey);

     int
     rs256_pk_from_RSA(rs256_pk_t *pk, const RSA *rsa);

     int
     rs256_pk_from_ptr(rs256_pk_t *pk, const void *ptr, size_t len);

     EVP_PKEY *
     rs256_pk_to_EVP_PKEY(const rs256_pk_t *pk);

DESCRIPTION
     RS256 is the name given in the CBOR Object Signing  and  Encryption  (COSE)
     RFC  to PKCS#1.5 2048-bit RSA with SHA-256.  The COSE RS256 API of libfido2
     is an auxiliary API with routines to convert between the different RSA pub-
     lic key types used in libfido2 and OpenSSL.

     In libfido2, RS256 public keys are abstracted by the rs256_pk_t type.

     The rs256_pk_new() function returns a pointer to a newly  allocated,  empty
     rs256_pk_t type.  If memory cannot be allocated, NULL is returned.

     The  rs256_pk_free()  function releases the memory backing *pkp, where *pkp
     must have been previously allocated by rs256_pk_new().  On return, *pkp  is
     set to NULL.  Either pkp or *pkp may be NULL, in which case rs256_pk_free()
     is a NOP.

     The  rs256_pk_from_EVP_PKEY()  function fills pk with the contents of pkey.
     No references to pkey are kept.

     The rs256_pk_from_RSA() function fills pk with the  contents  of  rsa.   No
     references to rsa are kept.

     The  rs256_pk_from_ptr()  function fills pk with the contents of ptr, where
     ptr points to len bytes.  No references to ptr are kept.

     The rs256_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, rs256_pk_to_EVP_PKEY()  re-
     turns NULL.

RETURN VALUES
     The  rs256_pk_from_EVP_PKEY(), rs256_pk_from_RSA(), and rs256_pk_from_ptr()
     functions return FIDO_OK on success.  On error, a different error code  de-
     fined in <fido/err.h> is returned.

SEE ALSO
     eddsa_pk_new(3),  es256_pk_new(3),  es384_pk_new(3), fido_assert_verify(3),
     fido_cred_pubkey_ptr(3)

FreeBSD ports 15.quarterly	  July 15, 2022 		 RS256_PK_NEW(3)

home | help