]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod
Implement EVP_MAC_do_all_ex()
[thirdparty/openssl.git] / doc / man3 / EVP_PKEY_CTX_set1_pbe_pass.pod
CommitLineData
a8ca496d
RL
1=pod
2
3=head1 NAME
4
5EVP_PKEY_CTX_set1_pbe_pass
6- generic KDF support functions
7
8=head1 SYNOPSIS
9
10 #include <openssl/kdf.h>
11
12 int EVP_PKEY_CTX_set1_pbe_pass(EVP_PKEY_CTX *pctx, unsigned char *pass,
13 int passlen);
14
15=head1 DESCRIPTION
16
17These functions are generic support functions for all KDF algorithms.
18
19EVP_PKEY_CTX_set1_pbe_pass() sets the password to the B<passlen> first
20bytes from B<pass>.
21
22=begin comment
23
24We really should have a few more, such as EVP_PKEY_CTX_set1_kdf_salt,
25EVP_PKEY_CTX_set1_kdf_key (to be used by the algorithms that use a
26key, such as hkdf), EVP_PKEY_CTX_set1_kdf_md (same thing here).
27
28=end comment
29
30=head1 STRING CTRLS
31
32There is also support for string based control operations via
33L<EVP_PKEY_CTX_ctrl_str(3)>.
34The B<password> can be directly specified using the B<type> parameter
35"pass" or given in hex encoding using the "hexpass" parameter.
36
37=begin comment
38
39Just as for the function description, the strings "salt", "hexsalt",
40"key", "hexkey" and "md" should be generically specified, and
41supported by the algorithms that use them.
42
43=end comment
44
45=head1 NOTES
46
47All these functions are implemented as macros.
48
49=head1 RETURN VALUES
50
51All these functions return 1 for success and 0 or a negative value for failure.
52In particular a return value of -2 indicates the operation is not supported by
53the public key algorithm.
54
55=head1 SEE ALSO
56
57L<EVP_PKEY_CTX_new(3)>,
58L<EVP_PKEY_CTX_ctrl_str(3)>,
59L<EVP_PKEY_derive(3)>
60
61=head1 COPYRIGHT
62
63Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
64
4746f25a 65Licensed under the Apache License 2.0 (the "License"). You may not use
a8ca496d
RL
66this file except in compliance with the License. You can obtain a copy
67in the file LICENSE in the source distribution or at
68L<https://www.openssl.org/source/license.html>.
69
70=cut