]>
Commit | Line | Data |
---|---|---|
051dbb91 DK |
1 | /* |
2 | * Copyright (C) 2011 Nokia Corporation | |
3 | * Copyright (C) 2011 Intel Corporation | |
4 | * | |
5 | * Author: | |
6 | * Dmitry Kasatkin <dmitry.kasatkin@nokia.com> | |
7 | * <dmitry.kasatkin@intel.com> | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify | |
10 | * it under the terms of the GNU General Public License as published by | |
11 | * the Free Software Foundation, version 2 of the License. | |
12 | * | |
13 | */ | |
14 | ||
15 | #ifndef _DIGSIG_H | |
16 | #define _DIGSIG_H | |
17 | ||
18 | #include <linux/key.h> | |
19 | ||
20 | enum pubkey_algo { | |
21 | PUBKEY_ALGO_RSA, | |
22 | PUBKEY_ALGO_MAX, | |
23 | }; | |
24 | ||
25 | enum digest_algo { | |
26 | DIGEST_ALGO_SHA1, | |
27 | DIGEST_ALGO_SHA256, | |
28 | DIGEST_ALGO_MAX | |
29 | }; | |
30 | ||
31 | struct pubkey_hdr { | |
32 | uint8_t version; /* key format version */ | |
59cca653 | 33 | uint32_t timestamp; /* key made, always 0 for now */ |
051dbb91 DK |
34 | uint8_t algo; |
35 | uint8_t nmpi; | |
36 | char mpi[0]; | |
37 | } __packed; | |
38 | ||
39 | struct signature_hdr { | |
40 | uint8_t version; /* signature format version */ | |
59cca653 | 41 | uint32_t timestamp; /* signature made */ |
051dbb91 DK |
42 | uint8_t algo; |
43 | uint8_t hash; | |
44 | uint8_t keyid[8]; | |
45 | uint8_t nmpi; | |
46 | char mpi[0]; | |
47 | } __packed; | |
48 | ||
5e8898e9 | 49 | #if defined(CONFIG_SIGNATURE) || defined(CONFIG_SIGNATURE_MODULE) |
051dbb91 DK |
50 | |
51 | int digsig_verify(struct key *keyring, const char *sig, int siglen, | |
52 | const char *digest, int digestlen); | |
53 | ||
54 | #else | |
55 | ||
56 | static inline int digsig_verify(struct key *keyring, const char *sig, | |
57 | int siglen, const char *digest, int digestlen) | |
58 | { | |
59 | return -EOPNOTSUPP; | |
60 | } | |
61 | ||
5e8898e9 | 62 | #endif /* CONFIG_SIGNATURE */ |
051dbb91 DK |
63 | |
64 | #endif /* _DIGSIG_H */ |