1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* PKCS#7 crypto data parser 3 * 4 * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 */ 7 8#ifndef _CRYPTO_PKCS7_H 9#define _CRYPTO_PKCS7_H 10 11#include <linux/verification.h> 12#include <crypto/public_key.h> 13 14struct key; 15struct pkcs7_message; 16 17/* 18 * pkcs7_parser.c 19 */ 20extern struct pkcs7_message *pkcs7_parse_message(const void *data, 21 size_t datalen); 22extern void pkcs7_free_message(struct pkcs7_message *pkcs7); 23 24extern int pkcs7_get_content_data(const struct pkcs7_message *pkcs7, 25 const void **_data, size_t *_datalen, 26 size_t *_headerlen); 27 28/* 29 * pkcs7_trust.c 30 */ 31extern int pkcs7_validate_trust(struct pkcs7_message *pkcs7, 32 struct key *trust_keyring); 33 34/* 35 * pkcs7_verify.c 36 */ 37extern int pkcs7_verify(struct pkcs7_message *pkcs7, 38 enum key_being_used_for usage); 39 40extern int pkcs7_supply_detached_data(struct pkcs7_message *pkcs7, 41 const void *data, size_t datalen); 42 43#endif /* _CRYPTO_PKCS7_H */ 44