52#ifndef QSC_X509_PKCS12_H
53#define QSC_X509_PKCS12_H
59QSC_CPLUSPLUS_ENABLED_START
84#define QSC_X509_PKCS12_MAX_CERTIFICATES 16U
90#define QSC_X509_PKCS12_DER_MAX 16384U
92#if !defined(QSC_X509_PKCS12_USE_AES) && !defined(QSC_X509_PKCS12_USE_RCS)
101# define QSC_X509_PKCS12_USE_AES
168 uint8_t* privatekeyinfo,
size_t privatekeyinfocapacity,
size_t* privatekeyinfolen);
170QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605
Definition x509pkcs12.h:113
qsc_x509_certificate certificates[QSC_X509_PKCS12_MAX_CERTIFICATES]
Definition x509pkcs12.h:116
qsc_x509_private_key privatekey
Definition x509pkcs12.h:114
size_t certificatecount
Definition x509pkcs12.h:117
bool hasprivatekey
Definition x509pkcs12.h:115
A parsed PKCS #12 bundle containing an optional private key and certificate set.
A decoded private key object with optional embedded public key material.
X.509 private key decoding, size validation, and certificate-key matching interface.
QSC_EXPORT_API void qsc_x509_pkcs12_initialize(qsc_x509_pkcs12_bundle *bundle)
Initialize a PKCS #12 bundle container.
Definition x509pkcs12.c:162
QSC_EXPORT_API bool qsc_x509_pkcs12_decrypt_encrypted_private_key_info(const uint8_t *data, size_t datalen, const char *password, uint8_t *privatekeyinfo, size_t privatekeyinfocapacity, size_t *privatekeyinfolen)
Decrypt an EncryptedPrivateKeyInfo object.
Definition x509pkcs12crypto.c:222
#define QSC_X509_PKCS12_MAX_CERTIFICATES
The maximum number of certificates retained in a parsed PKCS #12 bundle.
Definition x509pkcs12.h:84
QSC_EXPORT_API bool qsc_x509_pkcs12_parse(const uint8_t *data, size_t datalen, const char *password, qsc_x509_pkcs12_bundle *bundle)
Parse a PKCS #12 bundle from DER.
Definition x509pkcs12.c:315