root/include/linux/digsig.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. digsig_verify

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (C) 2011 Nokia Corporation
   4  * Copyright (C) 2011 Intel Corporation
   5  *
   6  * Author:
   7  * Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
   8  *                 <dmitry.kasatkin@intel.com>
   9  */
  10 
  11 #ifndef _DIGSIG_H
  12 #define _DIGSIG_H
  13 
  14 #include <linux/key.h>
  15 
  16 enum pubkey_algo {
  17         PUBKEY_ALGO_RSA,
  18         PUBKEY_ALGO_MAX,
  19 };
  20 
  21 enum digest_algo {
  22         DIGEST_ALGO_SHA1,
  23         DIGEST_ALGO_SHA256,
  24         DIGEST_ALGO_MAX
  25 };
  26 
  27 struct pubkey_hdr {
  28         uint8_t         version;        /* key format version */
  29         uint32_t        timestamp;      /* key made, always 0 for now */
  30         uint8_t         algo;
  31         uint8_t         nmpi;
  32         char            mpi[0];
  33 } __packed;
  34 
  35 struct signature_hdr {
  36         uint8_t         version;        /* signature format version */
  37         uint32_t        timestamp;      /* signature made */
  38         uint8_t         algo;
  39         uint8_t         hash;
  40         uint8_t         keyid[8];
  41         uint8_t         nmpi;
  42         char            mpi[0];
  43 } __packed;
  44 
  45 #if defined(CONFIG_SIGNATURE) || defined(CONFIG_SIGNATURE_MODULE)
  46 
  47 int digsig_verify(struct key *keyring, const char *sig, int siglen,
  48                                         const char *digest, int digestlen);
  49 
  50 #else
  51 
  52 static inline int digsig_verify(struct key *keyring, const char *sig,
  53                                 int siglen, const char *digest, int digestlen)
  54 {
  55         return -EOPNOTSUPP;
  56 }
  57 
  58 #endif /* CONFIG_SIGNATURE */
  59 
  60 #endif /* _DIGSIG_H */

/* [<][>][^][v][top][bottom][index][help] */