20#ifndef _CRYPTO_PKCS7_H
21#define _CRYPTO_PKCS7_H
23#include "ext_headers.h"
135 const uint8_t **data,
size_t *datalen);
212 const struct lc_pkcs7_trust_store *trust_store,
233 const uint8_t *data,
size_t datalen);
259 const uint8_t **message_digest,
260 size_t *message_digest_len,
261 const struct lc_hash **hash_algo);
288 struct lc_x509_certificate *x509);
int lc_hash(const struct lc_hash *hash, const uint8_t *in, size_t inlen, uint8_t *digest)
Calculate message digest - one-shot.
int lc_pkcs7_decode(struct lc_pkcs7_message *pkcs7, const uint8_t *data, size_t datalen)
Decode a PKCS#7 message.
void lc_pkcs7_message_clear(struct lc_pkcs7_message *pkcs7)
Clear the resources used by the PKCS#7 message parsing state.
int lc_pkcs7_verify(struct lc_pkcs7_message *pkcs7, const struct lc_pkcs7_trust_store *trust_store, const struct lc_verify_rules *verify_rules)
Verify a PKCS#7 message.
int lc_pkcs7_trust_store_add(struct lc_pkcs7_trust_store *trust_store, struct lc_x509_certificate *x509)
Add a certificate to a certificate trust store.
int lc_pkcs7_get_content_data(const struct lc_pkcs7_message *pkcs7, const uint8_t **data, size_t *datalen)
Get access to the PKCS#7 encapsulated content.
int lc_pkcs7_get_digest(struct lc_pkcs7_message *pkcs7, const uint8_t **message_digest, size_t *message_digest_len, const struct lc_hash **hash_algo)
Calculate and return the message digest of the data.
int lc_pkcs7_supply_detached_data(struct lc_pkcs7_message *pkcs7, const uint8_t *data, size_t datalen)
Supply the data needed to verify a PKCS#7 message.
void lc_pkcs7_trust_store_clear(struct lc_pkcs7_trust_store *trust_store)
Release and clear the trust store.
uint16_t required_keyusage