52#ifndef QSC_X509_STORE_H
53#define QSC_X509_STORE_H
59QSC_CPLUSPLUS_ENABLED_START
202 size_t intermediatecount,
const qsc_x509_store* store, qsc_x509_certificate* output,
size_t outputcount, qsc_x509_chain* chain);
204QSC_CPLUSPLUS_ENABLED_END
enum qsc_asn1_status_t qsc_asn1_status
ASN.1 helper status codes.
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
QSC_EXPORT_API const qsc_x509_trust_anchor * qsc_x509_store_find_anchor_for_certificate(const qsc_x509_store *store, const qsc_x509_certificate *certificate)
Find a trust anchor applicable to a certificate.
Definition x509store.c:166
QSC_EXPORT_API qsc_x509_verify_status qsc_x509_chain_build(const qsc_x509_certificate *leaf, const qsc_x509_certificate *intermediates, size_t intermediatecount, const qsc_x509_store *store, qsc_x509_certificate *output, size_t outputcount, qsc_x509_chain *chain)
Build a certification chain from a leaf certificate to a trust anchor.
Definition x509store.c:208
QSC_EXPORT_API const qsc_x509_trust_anchor * qsc_x509_store_find_anchor_by_subject_key_identifier(const qsc_x509_store *store, const uint8_t *keyidentifier, size_t keyidentifierlen)
Find a trust anchor by Subject Key Identifier.
Definition x509store.c:123
QSC_EXPORT_API void qsc_x509_store_initialize(qsc_x509_store *store, qsc_x509_trust_anchor *anchors, size_t capacity)
Initialize a certificate store.
Definition x509store.c:72
QSC_EXPORT_API const qsc_x509_trust_anchor * qsc_x509_store_find_anchor_by_subject(const qsc_x509_store *store, const qsc_x509_name *subject)
Find a trust anchor by subject name.
Definition x509store.c:103
QSC_EXPORT_API const qsc_x509_certificate * qsc_x509_store_find_issuer(const qsc_x509_store *store, const qsc_x509_certificate *certificate)
Find an issuer certificate in the trust store.
Definition x509store.c:200
QSC_EXPORT_API bool qsc_x509_store_contains_anchor(const qsc_x509_store *store, const qsc_x509_certificate *certificate)
Test whether a store contains a certificate as a trust anchor.
Definition x509store.c:146
QSC_EXPORT_API qsc_asn1_status qsc_x509_store_add_anchor(qsc_x509_store *store, const qsc_x509_certificate *certificate, bool selfsigned)
Add a trust anchor to a store from a certificate.
Definition x509store.c:84
X.509 certificate and certification-path verification interface.