Commit | Line | Data |
---|---|---|
b4d0d230 | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2e3fadbf DH |
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) | |
2e3fadbf DH |
6 | */ |
7 | ||
99db4435 DH |
8 | #ifndef _CRYPTO_PKCS7_H |
9 | #define _CRYPTO_PKCS7_H | |
10 | ||
e68503bd | 11 | #include <linux/verification.h> |
e201af16 | 12 | #include <linux/hash_info.h> |
99db4435 DH |
13 | #include <crypto/public_key.h> |
14 | ||
08815b62 | 15 | struct key; |
2e3fadbf DH |
16 | struct pkcs7_message; |
17 | ||
18 | /* | |
19 | * pkcs7_parser.c | |
20 | */ | |
21 | extern struct pkcs7_message *pkcs7_parse_message(const void *data, | |
22 | size_t datalen); | |
23 | extern void pkcs7_free_message(struct pkcs7_message *pkcs7); | |
24 | ||
25 | extern int pkcs7_get_content_data(const struct pkcs7_message *pkcs7, | |
26 | const void **_data, size_t *_datalen, | |
e68503bd | 27 | size_t *_headerlen); |
a4730357 | 28 | |
08815b62 DH |
29 | /* |
30 | * pkcs7_trust.c | |
31 | */ | |
32 | extern int pkcs7_validate_trust(struct pkcs7_message *pkcs7, | |
bda850cd | 33 | struct key *trust_keyring); |
08815b62 | 34 | |
a4730357 DH |
35 | /* |
36 | * pkcs7_verify.c | |
37 | */ | |
99db4435 DH |
38 | extern int pkcs7_verify(struct pkcs7_message *pkcs7, |
39 | enum key_being_used_for usage); | |
4ebdb76f DH |
40 | |
41 | extern int pkcs7_supply_detached_data(struct pkcs7_message *pkcs7, | |
42 | const void *data, size_t datalen); | |
99db4435 | 43 | |
e201af16 TJB |
44 | extern int pkcs7_get_digest(struct pkcs7_message *pkcs7, const u8 **buf, |
45 | u32 *len, enum hash_algo *hash_algo); | |
46 | ||
99db4435 | 47 | #endif /* _CRYPTO_PKCS7_H */ |