pkcs8.h

Provides PKCS#8 and SEC1 parsing/serialization support. \par Reference: RFC 5208 \par Reference: RFC 5958 \par Reference: RFC 5915 \par Reference: ITU-T X.690.

Author

Anthony Cagliano

Defines

TLS_PKCS8_MAX_FIELDS

Typedefs

typedef enum _pkcs8_error tls_pkcs8_error_t

Enums

enum _pkcs8_error

Values:

enumerator TLS_PKCS8_ERR_NONE
enumerator TLS_PKCS8_ERR_INVALID_ARG
enumerator TLS_PKCS8_ERR_PEM_DECODE_FAIL
enumerator TLS_PKCS8_ERR_ALLOC_FAIL
enumerator TLS_PKCS8_ERR_PASSWORD_REQUIRED
enumerator TLS_PKCS8_ERR_UNSUPPORTED_ALG
enumerator TLS_PKCS8_ERR_DECRYPT_FAIL
enum tls_pkcs8_type

Values:

enumerator TLS_PKCS8_PUBLIC
enumerator TLS_PKCS8_PRIVATE
enumerator TLS_PKCS8_ENCRYPTED_PRIVATE
enumerator TLS_PKCS1_PUBLIC
enumerator TLS_PKCS1_PRIVATE
enumerator TLS_SECG1_PUBLIC
enumerator TLS_SECG1_PRIVATE
enum tls_pkcs8_algorithm

Values:

enumerator TLS_PKCS8_ALG_UNKNOWN
enumerator TLS_PKCS8_ALG_RSA
enumerator TLS_PKCS8_ALG_EC

Functions

char *tls_pkcs8_strerror(tls_pkcs8_error_t error)
struct tls_pkcs8_object *tls_pkcs8_import(const char *pem_data, size_t size, const char *password, tls_pkcs8_error_t *error)
struct tls_keyobject *tls_pkcs8_import_private(const char *pem_data, size_t size, const char *password)
struct tls_keyobject *tls_pkcs8_import_public(const char *pem_data, size_t size)
struct tls_pkcs8_object *tls_pkcs8_object_import_private(const char *pem_data, size_t size, const char *password)
struct tls_pkcs8_object *tls_pkcs8_object_import_public(const char *pem_data, size_t size)
void tls_pkcs8_object_destroy(struct tls_pkcs8_object *obj)
struct tls_pkcs8_object
#include <pkcs8.h>

Public Members

size_t total_len
uint8_t type
uint8_t algorithm
size_t len
struct tls_asn1_serialization fields[TLS_PKCS8_MAX_FIELDS]
struct tls_pkcs8_object serialization
uint8_t data[]