mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
60 lines
1.2 KiB
/* SPDX-License-Identifier: GPL-2.0-only */ |
|
/* |
|
* Copyright (C) 2011 Nokia Corporation |
|
* Copyright (C) 2011 Intel Corporation |
|
* |
|
* Author: |
|
* Dmitry Kasatkin <[email protected]> |
|
* <[email protected]> |
|
*/ |
|
|
|
#ifndef _DIGSIG_H |
|
#define _DIGSIG_H |
|
|
|
#include <linux/key.h> |
|
|
|
enum pubkey_algo { |
|
PUBKEY_ALGO_RSA, |
|
PUBKEY_ALGO_MAX, |
|
}; |
|
|
|
enum digest_algo { |
|
DIGEST_ALGO_SHA1, |
|
DIGEST_ALGO_SHA256, |
|
DIGEST_ALGO_MAX |
|
}; |
|
|
|
struct pubkey_hdr { |
|
uint8_t version; /* key format version */ |
|
uint32_t timestamp; /* key made, always 0 for now */ |
|
uint8_t algo; |
|
uint8_t nmpi; |
|
char mpi[]; |
|
} __packed; |
|
|
|
struct signature_hdr { |
|
uint8_t version; /* signature format version */ |
|
uint32_t timestamp; /* signature made */ |
|
uint8_t algo; |
|
uint8_t hash; |
|
uint8_t keyid[8]; |
|
uint8_t nmpi; |
|
char mpi[]; |
|
} __packed; |
|
|
|
#if defined(CONFIG_SIGNATURE) || defined(CONFIG_SIGNATURE_MODULE) |
|
|
|
int digsig_verify(struct key *keyring, const char *sig, int siglen, |
|
const char *digest, int digestlen); |
|
|
|
#else |
|
|
|
static inline int digsig_verify(struct key *keyring, const char *sig, |
|
int siglen, const char *digest, int digestlen) |
|
{ |
|
return -EOPNOTSUPP; |
|
} |
|
|
|
#endif /* CONFIG_SIGNATURE */ |
|
|
|
#endif /* _DIGSIG_H */
|
|
|