diff options
author | David Howells <dhowells@redhat.com> | 2016-06-23 14:36:06 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2018-08-21 23:56:01 +0100 |
commit | cf1b27fb30dcbe8495976b2a58cfbf2c324c9684 (patch) | |
tree | c7bb4bb2b5e4f36f4d2e8c0eba7eabaa90a7e8e6 /keyutils.c | |
parent | accb09df2941f371e795406fda77c89c3fed2539 (diff) | |
download | keyutils-pkey.tar.gz |
Add password supportpkey
Diffstat (limited to 'keyutils.c')
-rw-r--r-- | keyutils.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -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, ¶ms, 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, ¶ms, 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, ¶ms, 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, }; |