|
CCF
|
#include <cstddef>#include <cstdint>Go to the source code of this file.
Functions | |
| CoseEvpKey * | cose_key_from_der_private (const uint8_t *key_der_ptr, size_t key_der_len, uint8_t **err_ptr, size_t *err_len) |
| void | cose_key_free (CoseEvpKey *key) |
| Free a CoseEvpKey. | |
| int | cose_sign_ledger (const CoseEvpKey *key, const uint8_t *kid_ptr, size_t kid_len, int64_t iat, const uint8_t *issuer_ptr, size_t issuer_len, const uint8_t *subject_ptr, size_t subject_len, const uint8_t *txid_ptr, size_t txid_len, const uint8_t *payload_ptr, size_t payload_len, uint8_t **out_ptr, size_t *out_len, uint8_t **err_ptr, size_t *err_len) |
| int | cose_sign_endorsement (const CoseEvpKey *key, int64_t iat, const uint8_t *epoch_begin_ptr, size_t epoch_begin_len, const uint8_t *epoch_end_ptr, size_t epoch_end_len, const uint8_t *prev_root_ptr, size_t prev_root_len, const uint8_t *payload_ptr, size_t payload_len, uint8_t **out_ptr, size_t *out_len, uint8_t **err_ptr, size_t *err_len) |
| CoseEvpKey * | cose_key_from_der_public (const uint8_t *key_der_ptr, size_t key_der_len, uint8_t **err_ptr, size_t *err_len) |
| CoseEvpKey * | cose_key_from_pem_public (const uint8_t *pem_ptr, size_t pem_len, uint8_t **err_ptr, size_t *err_len) |
| CoseEvpKey * | cose_key_from_pem_cert (const uint8_t *pem_ptr, size_t pem_len, uint8_t **err_ptr, size_t *err_len) |
| CoseEvpKey * | cose_key_from_der_cert (const uint8_t *der_ptr, size_t der_len, uint8_t **err_ptr, size_t *err_len) |
| int | cose_verify1 (const CoseEvpKey *key, int64_t alg, const uint8_t *phdr_cbor_ptr, size_t phdr_cbor_len, const uint8_t *payload_ptr, size_t payload_len, const uint8_t *sig_ptr, size_t sig_len, uint8_t **err_ptr, size_t *err_len) |
| void | cose_free (uint8_t *ptr, size_t len) |
| Free a byte buffer or error string allocated by any cose_* call. | |
| void cose_free | ( | uint8_t * | ptr, |
| size_t | len | ||
| ) |
Free a byte buffer or error string allocated by any cose_* call.
| void cose_key_free | ( | CoseEvpKey * | key | ) |
Free a CoseEvpKey.
| CoseEvpKey * cose_key_from_der_cert | ( | const uint8_t * | der_ptr, |
| size_t | der_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Extract the public key from a DER-encoded X.509 certificate. Returns an opaque pointer, or NULL on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.
| CoseEvpKey * cose_key_from_der_private | ( | const uint8_t * | key_der_ptr, |
| size_t | key_der_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Create a signing key from DER-encoded private key bytes. Returns an opaque pointer, or NULL on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.
| CoseEvpKey * cose_key_from_der_public | ( | const uint8_t * | key_der_ptr, |
| size_t | key_der_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Create a verification key from DER-encoded public key bytes. Returns an opaque pointer, or NULL on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.
| CoseEvpKey * cose_key_from_pem_cert | ( | const uint8_t * | pem_ptr, |
| size_t | pem_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Extract the public key from a PEM-encoded X.509 certificate. Returns an opaque pointer, or NULL on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.
| CoseEvpKey * cose_key_from_pem_public | ( | const uint8_t * | pem_ptr, |
| size_t | pem_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Create a verification key from PEM-encoded public key bytes. Returns an opaque pointer, or NULL on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.
| int cose_sign_endorsement | ( | const CoseEvpKey * | key, |
| int64_t | iat, | ||
| const uint8_t * | epoch_begin_ptr, | ||
| size_t | epoch_begin_len, | ||
| const uint8_t * | epoch_end_ptr, | ||
| size_t | epoch_end_len, | ||
| const uint8_t * | prev_root_ptr, | ||
| size_t | prev_root_len, | ||
| const uint8_t * | payload_ptr, | ||
| size_t | payload_len, | ||
| uint8_t ** | out_ptr, | ||
| size_t * | out_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Sign a CCF identity endorsement (COSE_Sign1, embedded payload). epoch_end and prev_root may be NULL/0 if not applicable. Returns 0 on success, non-zero on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.
| int cose_sign_ledger | ( | const CoseEvpKey * | key, |
| const uint8_t * | kid_ptr, | ||
| size_t | kid_len, | ||
| int64_t | iat, | ||
| const uint8_t * | issuer_ptr, | ||
| size_t | issuer_len, | ||
| const uint8_t * | subject_ptr, | ||
| size_t | subject_len, | ||
| const uint8_t * | txid_ptr, | ||
| size_t | txid_len, | ||
| const uint8_t * | payload_ptr, | ||
| size_t | payload_len, | ||
| uint8_t ** | out_ptr, | ||
| size_t * | out_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Sign a CCF ledger signature using a pre-created key handle. Returns 0 on success, non-zero on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.
| int cose_verify1 | ( | const CoseEvpKey * | key, |
| int64_t | alg, | ||
| const uint8_t * | phdr_cbor_ptr, | ||
| size_t | phdr_cbor_len, | ||
| const uint8_t * | payload_ptr, | ||
| size_t | payload_len, | ||
| const uint8_t * | sig_ptr, | ||
| size_t | sig_len, | ||
| uint8_t ** | err_ptr, | ||
| size_t * | err_len | ||
| ) |
Verify a COSE_Sign1 using a pre-created key handle. alg: COSE algorithm integer (e.g. -7 for ES256). Returns 0 on successful verification, non-zero on failure. On failure, if err_ptr/err_len are non-null, an error message is written there.