Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
digsig.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2011 Nokia Corporation
3
* Copyright (C) 2011 Intel Corporation
4
*
5
* Author:
6
* Dmitry Kasatkin <
[email protected]
>
7
* <
[email protected]
>
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 */
33
uint32_t
timestamp
;
/* key made, always 0 for now */
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 */
41
uint32_t
timestamp
;
/* signature made */
42
uint8_t
algo
;
43
uint8_t
hash
;
44
uint8_t
keyid
[8];
45
uint8_t
nmpi
;
46
char
mpi
[0];
47
}
__packed
;
48
49
#if defined(CONFIG_SIGNATURE) || defined(CONFIG_SIGNATURE_MODULE)
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
62
#endif
/* CONFIG_SIGNATURE */
63
64
#endif
/* _DIGSIG_H */
Generated on Thu Jan 10 2013 14:51:18 for Linux Kernel by
1.8.2