mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public licence as published by the free software foundation either version 2 of the licence or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 114 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190520170857.552531963@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/* keyctl kernel bits
|
|
*
|
|
* Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
|
|
* Written by David Howells (dhowells@redhat.com)
|
|
*/
|
|
|
|
#ifndef __LINUX_KEYCTL_H
|
|
#define __LINUX_KEYCTL_H
|
|
|
|
#include <uapi/linux/keyctl.h>
|
|
|
|
struct kernel_pkey_query {
|
|
__u32 supported_ops; /* Which ops are supported */
|
|
__u32 key_size; /* Size of the key in bits */
|
|
__u16 max_data_size; /* Maximum size of raw data to sign in bytes */
|
|
__u16 max_sig_size; /* Maximum size of signature in bytes */
|
|
__u16 max_enc_size; /* Maximum size of encrypted blob in bytes */
|
|
__u16 max_dec_size; /* Maximum size of decrypted blob in bytes */
|
|
};
|
|
|
|
enum kernel_pkey_operation {
|
|
kernel_pkey_encrypt,
|
|
kernel_pkey_decrypt,
|
|
kernel_pkey_sign,
|
|
kernel_pkey_verify,
|
|
};
|
|
|
|
struct kernel_pkey_params {
|
|
struct key *key;
|
|
const char *encoding; /* Encoding (eg. "oaep" or "raw" for none) */
|
|
const char *hash_algo; /* Digest algorithm used (eg. "sha1") or NULL if N/A */
|
|
char *info; /* Modified info string to be released later */
|
|
__u32 in_len; /* Input data size */
|
|
union {
|
|
__u32 out_len; /* Output buffer size (enc/dec/sign) */
|
|
__u32 in2_len; /* 2nd input data size (verify) */
|
|
};
|
|
enum kernel_pkey_operation op : 8;
|
|
};
|
|
|
|
#endif /* __LINUX_KEYCTL_H */
|