EVP_PKEY_todata.3ossl 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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_TODATA 3ossl"
  58. .TH EVP_PKEY_TODATA 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_todata, EVP_PKEY_export
  65. \&\- functions to return keys as an array of key parameters
  66. .SH SYNOPSIS
  67. .IX Header "SYNOPSIS"
  68. .Vb 1
  69. \& #include <openssl/evp.h>
  70. \&
  71. \& int EVP_PKEY_todata(const EVP_PKEY *pkey, int selection, OSSL_PARAM **params);
  72. \& int EVP_PKEY_export(const EVP_PKEY *pkey, int selection,
  73. \& OSSL_CALLBACK *export_cb, void *export_cbarg);
  74. .Ve
  75. .SH DESCRIPTION
  76. .IX Header "DESCRIPTION"
  77. The functions described here are used to extract \fBEVP_PKEY\fR key values as an
  78. array of \fBOSSL_PARAM\fR\|(3).
  79. .PP
  80. \&\fBEVP_PKEY_todata()\fR extracts values from a key \fIpkey\fR using the \fIselection\fR.
  81. \&\fIselection\fR is described in "Selections" in \fBEVP_PKEY_fromdata\fR\|(3).
  82. \&\fBOSSL_PARAM_free\fR\|(3) should be used to free the returned parameters in
  83. \&\fI*params\fR.
  84. .PP
  85. \&\fBEVP_PKEY_export()\fR is similar to \fBEVP_PKEY_todata()\fR but uses a callback
  86. \&\fIexport_cb\fR that gets passed the value of \fIexport_cbarg\fR.
  87. See \fBopenssl\-core.h\fR\|(7) for more information about the callback. Note that the
  88. \&\fBOSSL_PARAM\fR\|(3) array that is passed to the callback is not persistent after the
  89. callback returns. The user must preserve the items of interest, or use
  90. \&\fBEVP_PKEY_todata()\fR if persistence is required.
  91. .SH NOTES
  92. .IX Header "NOTES"
  93. These functions only work with key management methods coming from a provider.
  94. This is the mirror function to \fBEVP_PKEY_fromdata\fR\|(3).
  95. .SH "RETURN VALUES"
  96. .IX Header "RETURN VALUES"
  97. \&\fBEVP_PKEY_todata()\fR and \fBEVP_PKEY_export()\fR return 1 for success and 0 for failure.
  98. .SH "SEE ALSO"
  99. .IX Header "SEE ALSO"
  100. \&\fBOSSL_PARAM\fR\|(3), \fBopenssl\-core.h\fR\|(7),
  101. \&\fBEVP_PKEY_fromdata\fR\|(3),
  102. \&\fBEVP_PKEY\-RSA\fR\|(7), \fBEVP_PKEY\-DSA\fR\|(7), \fBEVP_PKEY\-DH\fR\|(7), \fBEVP_PKEY\-EC\fR\|(7),
  103. \&\fBEVP_PKEY\-ED448\fR\|(7), \fBEVP_PKEY\-X25519\fR\|(7), \fBEVP_PKEY\-X448\fR\|(7),
  104. \&\fBEVP_PKEY\-ED25519\fR\|(7)
  105. .SH HISTORY
  106. .IX Header "HISTORY"
  107. These functions were added in OpenSSL 3.0.
  108. .SH COPYRIGHT
  109. .IX Header "COPYRIGHT"
  110. Copyright 2021\-2022 The OpenSSL Project Authors. All Rights Reserved.
  111. .PP
  112. Licensed under the Apache License 2.0 (the "License"). You may not use
  113. this file except in compliance with the License. You can obtain a copy
  114. in the file LICENSE in the source distribution or at
  115. <https://www.openssl.org/source/license.html>.