Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (C) 2010 IBM Corporation
0004  * Copyright (C) 2010 Politecnico di Torino, Italy
0005  *                    TORSEC group -- https://security.polito.it
0006  *
0007  * Authors:
0008  * Mimi Zohar <zohar@us.ibm.com>
0009  * Roberto Sassu <roberto.sassu@polito.it>
0010  */
0011 
0012 #ifndef _KEYS_ENCRYPTED_TYPE_H
0013 #define _KEYS_ENCRYPTED_TYPE_H
0014 
0015 #include <linux/key.h>
0016 #include <linux/rcupdate.h>
0017 
0018 struct encrypted_key_payload {
0019     struct rcu_head rcu;
0020     char *format;       /* datablob: format */
0021     char *master_desc;  /* datablob: master key name */
0022     char *datalen;      /* datablob: decrypted key length */
0023     u8 *iv;         /* datablob: iv */
0024     u8 *encrypted_data; /* datablob: encrypted data */
0025     unsigned short datablob_len;    /* length of datablob */
0026     unsigned short decrypted_datalen;   /* decrypted data length */
0027     unsigned short payload_datalen;     /* payload data length */
0028     unsigned short encrypted_key_format;    /* encrypted key format */
0029     u8 *decrypted_data; /* decrypted data */
0030     u8 payload_data[];  /* payload data + datablob + hmac */
0031 };
0032 
0033 extern struct key_type key_type_encrypted;
0034 
0035 #endif /* _KEYS_ENCRYPTED_TYPE_H */