EVP_PKEY_print_private.3ossl 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. .\" -*- mode: troff; coding: utf-8 -*-
  2. .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
  3. .\"
  4. .\" Standard preamble:
  5. .\" ========================================================================
  6. .de Sp \" Vertical space (when we can't use .PP)
  7. .if t .sp .5v
  8. .if n .sp
  9. ..
  10. .de Vb \" Begin verbatim text
  11. .ft CW
  12. .nf
  13. .ne \\$1
  14. ..
  15. .de Ve \" End verbatim text
  16. .ft R
  17. .fi
  18. ..
  19. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
  20. .ie n \{\
  21. . ds C` ""
  22. . ds C' ""
  23. 'br\}
  24. .el\{\
  25. . ds C`
  26. . ds C'
  27. 'br\}
  28. .\"
  29. .\" Escape single quotes in literal strings from groff's Unicode transform.
  30. .ie \n(.g .ds Aq \(aq
  31. .el .ds Aq '
  32. .\"
  33. .\" If the F register is >0, we'll generate index entries on stderr for
  34. .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
  35. .\" entries marked with X<> in POD. Of course, you'll have to process the
  36. .\" output yourself in some meaningful fashion.
  37. .\"
  38. .\" Avoid warning from groff about undefined register 'F'.
  39. .de IX
  40. ..
  41. .nr rF 0
  42. .if \n(.g .if rF .nr rF 1
  43. .if (\n(rF:(\n(.g==0)) \{\
  44. . if \nF \{\
  45. . de IX
  46. . tm Index:\\$1\t\\n%\t"\\$2"
  47. ..
  48. . if !\nF==2 \{\
  49. . nr % 0
  50. . nr F 2
  51. . \}
  52. . \}
  53. .\}
  54. .rr rF
  55. .\" ========================================================================
  56. .\"
  57. .IX Title "EVP_PKEY_PRINT_PRIVATE 3ossl"
  58. .TH EVP_PKEY_PRINT_PRIVATE 3ossl 2025-01-17 3.4.0 OpenSSL
  59. .\" For nroff, turn off justification. Always turn off hyphenation; it makes
  60. .\" way too many mistakes in technical documents.
  61. .if n .ad l
  62. .nh
  63. .SH NAME
  64. EVP_PKEY_print_public, EVP_PKEY_print_private, EVP_PKEY_print_params,
  65. EVP_PKEY_print_public_fp, EVP_PKEY_print_private_fp,
  66. EVP_PKEY_print_params_fp \- public key algorithm printing routines
  67. .SH SYNOPSIS
  68. .IX Header "SYNOPSIS"
  69. .Vb 1
  70. \& #include <openssl/evp.h>
  71. \&
  72. \& int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,
  73. \& int indent, ASN1_PCTX *pctx);
  74. \& int EVP_PKEY_print_public_fp(FILE *fp, const EVP_PKEY *pkey,
  75. \& int indent, ASN1_PCTX *pctx);
  76. \& int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,
  77. \& int indent, ASN1_PCTX *pctx);
  78. \& int EVP_PKEY_print_private_fp(FILE *fp, const EVP_PKEY *pkey,
  79. \& int indent, ASN1_PCTX *pctx);
  80. \& int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,
  81. \& int indent, ASN1_PCTX *pctx);
  82. \& int EVP_PKEY_print_params_fp(FILE *fp, const EVP_PKEY *pkey,
  83. \& int indent, ASN1_PCTX *pctx);
  84. .Ve
  85. .SH DESCRIPTION
  86. .IX Header "DESCRIPTION"
  87. The functions \fBEVP_PKEY_print_public()\fR, \fBEVP_PKEY_print_private()\fR and
  88. \&\fBEVP_PKEY_print_params()\fR print out the public, private or parameter components
  89. of key \fIpkey\fR respectively. The key is sent to \fBBIO\fR \fIout\fR in human readable
  90. form. The parameter \fIindent\fR indicates how far the printout should be indented.
  91. .PP
  92. The \fIpctx\fR parameter allows the print output to be finely tuned by using
  93. ASN1 printing options. If \fIpctx\fR is set to NULL then default values will
  94. be used.
  95. .PP
  96. The functions \fBEVP_PKEY_print_public_fp()\fR, \fBEVP_PKEY_print_private_fp()\fR and
  97. \&\fBEVP_PKEY_print_params_fp()\fR do the same as the \fBBIO\fR based functions
  98. but use \fBFILE\fR \fIfp\fR instead.
  99. .SH NOTES
  100. .IX Header "NOTES"
  101. Currently no public key algorithms include any options in the \fIpctx\fR parameter.
  102. .PP
  103. If the key does not include all the components indicated by the function then
  104. only those contained in the key will be printed. For example passing a public
  105. key to \fBEVP_PKEY_print_private()\fR will only print the public components.
  106. .SH "RETURN VALUES"
  107. .IX Header "RETURN VALUES"
  108. These functions all return 1 for success and 0 or a negative value for failure.
  109. In particular a return value of \-2 indicates the operation is not supported by
  110. the public key algorithm.
  111. .SH "SEE ALSO"
  112. .IX Header "SEE ALSO"
  113. \&\fBEVP_PKEY_CTX_new\fR\|(3),
  114. \&\fBEVP_PKEY_keygen\fR\|(3)
  115. .SH HISTORY
  116. .IX Header "HISTORY"
  117. The functions \fBEVP_PKEY_print_public()\fR, \fBEVP_PKEY_print_private()\fR,
  118. and \fBEVP_PKEY_print_params()\fR were added in OpenSSL 1.0.0.
  119. .PP
  120. The functions \fBEVP_PKEY_print_public_fp()\fR, \fBEVP_PKEY_print_private_fp()\fR,
  121. and \fBEVP_PKEY_print_params_fp()\fR were added in OpenSSL 3.0.
  122. .SH COPYRIGHT
  123. .IX Header "COPYRIGHT"
  124. Copyright 2006\-2021 The OpenSSL Project Authors. All Rights Reserved.
  125. .PP
  126. Licensed under the Apache License 2.0 (the "License"). You may not use
  127. this file except in compliance with the License. You can obtain a copy
  128. in the file LICENSE in the source distribution or at
  129. <https://www.openssl.org/source/license.html>.