summaryrefslogtreecommitdiff
path: root/keyutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyutils.c')
-rw-r--r--keyutils.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/keyutils.c b/keyutils.c
index e3bf775..fc7dc4d 100644
--- a/keyutils.c
+++ b/keyutils.c
@@ -264,20 +264,21 @@ long keyctl_restrict_keyring(key_serial_t keyring, const char *type,
return keyctl(KEYCTL_RESTRICT_KEYRING, keyring, type, restriction);
}
-long keyctl_pkey_query(key_serial_t key_id,
+long keyctl_pkey_query(key_serial_t key_id, key_serial_t password_id,
const char *info,
struct keyctl_pkey_query *result)
{
- return keyctl(KEYCTL_PKEY_QUERY, key_id, 0, info, result);
+ return keyctl(KEYCTL_PKEY_QUERY, key_id, password_id, info, result);
}
-long keyctl_pkey_encrypt(key_serial_t key_id,
+long keyctl_pkey_encrypt(key_serial_t key_id, key_serial_t password_id,
const char *info,
const void *data, size_t data_len,
void *enc, size_t enc_len)
{
struct keyctl_pkey_params params = {
.key_id = key_id,
+ .password_id = password_id,
.in_len = data_len,
.out_len = enc_len,
};
@@ -285,13 +286,14 @@ long keyctl_pkey_encrypt(key_serial_t key_id,
return keyctl(KEYCTL_PKEY_ENCRYPT, &params, info, data, enc);
}
-long keyctl_pkey_decrypt(key_serial_t key_id,
+long keyctl_pkey_decrypt(key_serial_t key_id, key_serial_t password_id,
const char *info,
const void *enc, size_t enc_len,
void *data, size_t data_len)
{
struct keyctl_pkey_params params = {
.key_id = key_id,
+ .password_id = password_id,
.in_len = enc_len,
.out_len = data_len,
};
@@ -299,13 +301,14 @@ long keyctl_pkey_decrypt(key_serial_t key_id,
return keyctl(KEYCTL_PKEY_DECRYPT, &params, info, enc, data);
}
-long keyctl_pkey_sign(key_serial_t key_id,
+long keyctl_pkey_sign(key_serial_t key_id, key_serial_t password_id,
const char *info,
const void *data, size_t data_len,
void *sig, size_t sig_len)
{
struct keyctl_pkey_params params = {
.key_id = key_id,
+ .password_id = password_id,
.in_len = data_len,
.out_len = sig_len,
};
@@ -313,13 +316,14 @@ long keyctl_pkey_sign(key_serial_t key_id,
return keyctl(KEYCTL_PKEY_SIGN, &params, info, data, sig);
}
-long keyctl_pkey_verify(key_serial_t key_id,
+long keyctl_pkey_verify(key_serial_t key_id, key_serial_t password_id,
const char *info,
const void *data, size_t data_len,
const void *sig, size_t sig_len)
{
struct keyctl_pkey_params params = {
.key_id = key_id,
+ .password_id = password_id,
.in_len = data_len,
.in2_len = sig_len,
};