Document the HMAC changes
[openssl.git] / doc / crypto / EVP_PKEY_print_private.pod
1 =pod
2
3 =head1 NAME
4
5 EVP_PKEY_print_public, EVP_PKEY_print_private, EVP_PKEY_print_params - public key algorithm printing routines.
6
7 =head1 SYNOPSIS
8
9  #include <openssl/evp.h>
10
11  int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,
12                                 int indent, ASN1_PCTX *pctx);
13  int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,
14                                 int indent, ASN1_PCTX *pctx);
15  int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,
16                                 int indent, ASN1_PCTX *pctx);
17
18 =head1 DESCRIPTION
19
20 The functions EVP_PKEY_print_public(), EVP_PKEY_print_private() and
21 EVP_PKEY_print_params() print out the public, private or parameter components
22 of key B<pkey> respectively. The key is sent to BIO B<out> in human readable
23 form. The parameter B<indent> indicated how far the printout should be indented.
24
25 The B<pctx> parameter allows the print output to be finely tuned by using
26 ASN1 printing options. If B<pctx> is set to NULL then default values will
27 be used.
28
29 =head1 NOTES
30
31 Currently no public key algorithms include any options in the B<pctx> parameter 
32 parameter.
33
34 If the key does not include all the components indicated by the function then
35 only those contained in the key will be printed. For example passing a public
36 key to EVP_PKEY_print_private() will only print the public components.
37
38 =head1 RETURN VALUES
39
40 These functions all return 1 for success and 0 or a negative value for failure.
41 In particular a return value of -2 indicates the operation is not supported by
42 the public key algorithm.
43
44 =head1 SEE ALSO
45
46 L<EVP_PKEY_CTX_new(3)>,
47 L<EVP_PKEY_keygen(3)> 
48
49 =head1 HISTORY
50
51 These functions were first added to OpenSSL 1.0.0.
52
53 =cut