root/include/keys/trusted-type.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (C) 2010 IBM Corporation
   4  * Author: David Safford <safford@us.ibm.com>
   5  */
   6 
   7 #ifndef _KEYS_TRUSTED_TYPE_H
   8 #define _KEYS_TRUSTED_TYPE_H
   9 
  10 #include <linux/key.h>
  11 #include <linux/rcupdate.h>
  12 #include <linux/tpm.h>
  13 
  14 #define MIN_KEY_SIZE                    32
  15 #define MAX_KEY_SIZE                    128
  16 #define MAX_BLOB_SIZE                   512
  17 #define MAX_PCRINFO_SIZE                64
  18 #define MAX_DIGEST_SIZE                 64
  19 
  20 struct trusted_key_payload {
  21         struct rcu_head rcu;
  22         unsigned int key_len;
  23         unsigned int blob_len;
  24         unsigned char migratable;
  25         unsigned char key[MAX_KEY_SIZE + 1];
  26         unsigned char blob[MAX_BLOB_SIZE];
  27 };
  28 
  29 struct trusted_key_options {
  30         uint16_t keytype;
  31         uint32_t keyhandle;
  32         unsigned char keyauth[TPM_DIGEST_SIZE];
  33         unsigned char blobauth[TPM_DIGEST_SIZE];
  34         uint32_t pcrinfo_len;
  35         unsigned char pcrinfo[MAX_PCRINFO_SIZE];
  36         int pcrlock;
  37         uint32_t hash;
  38         uint32_t policydigest_len;
  39         unsigned char policydigest[MAX_DIGEST_SIZE];
  40         uint32_t policyhandle;
  41 };
  42 
  43 extern struct key_type key_type_trusted;
  44 
  45 #endif /* _KEYS_TRUSTED_TYPE_H */

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