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 14 struct key; 15 struct pkcs7_message; 16 17 /* 18 * pkcs7_parser.c 19 */ 20 extern struct pkcs7_message *pkcs7_parse_message(const void *data, 21 size_t datalen); 22 extern void pkcs7_free_message(struct pkcs7_message *pkcs7); 23 24 extern 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 */ 31 extern int pkcs7_validate_trust(struct pkcs7_message *pkcs7, 32 struct key *trust_keyring); 33 34 /* 35 * pkcs7_verify.c 36 */ 37 extern int pkcs7_verify(struct pkcs7_message *pkcs7, 38 enum key_being_used_for usage); 39 40 extern int pkcs7_supply_detached_data(struct pkcs7_message *pkcs7, 41 const void *data, size_t datalen); 42 43 #endif /* _CRYPTO_PKCS7_H */ 44