PEM_read_CMS.pod 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. =pod
  2. =head1 NAME
  3. DECLARE_PEM_rw,
  4. PEM_read_CMS,
  5. PEM_read_bio_CMS,
  6. PEM_write_CMS,
  7. PEM_write_bio_CMS,
  8. PEM_write_DHxparams,
  9. PEM_write_bio_DHxparams,
  10. PEM_read_ECPKParameters,
  11. PEM_read_bio_ECPKParameters,
  12. PEM_write_ECPKParameters,
  13. PEM_write_bio_ECPKParameters,
  14. PEM_read_ECPrivateKey,
  15. PEM_write_ECPrivateKey,
  16. PEM_write_bio_ECPrivateKey,
  17. PEM_read_EC_PUBKEY,
  18. PEM_read_bio_EC_PUBKEY,
  19. PEM_write_EC_PUBKEY,
  20. PEM_write_bio_EC_PUBKEY,
  21. PEM_read_NETSCAPE_CERT_SEQUENCE,
  22. PEM_read_bio_NETSCAPE_CERT_SEQUENCE,
  23. PEM_write_NETSCAPE_CERT_SEQUENCE,
  24. PEM_write_bio_NETSCAPE_CERT_SEQUENCE,
  25. PEM_read_PKCS8,
  26. PEM_read_bio_PKCS8,
  27. PEM_write_PKCS8,
  28. PEM_write_bio_PKCS8,
  29. PEM_write_PKCS8_PRIV_KEY_INFO,
  30. PEM_read_bio_PKCS8_PRIV_KEY_INFO,
  31. PEM_read_PKCS8_PRIV_KEY_INFO,
  32. PEM_write_bio_PKCS8_PRIV_KEY_INFO,
  33. PEM_read_SSL_SESSION,
  34. PEM_read_bio_SSL_SESSION,
  35. PEM_write_SSL_SESSION,
  36. PEM_write_bio_SSL_SESSION,
  37. PEM_read_X509_PUBKEY,
  38. PEM_read_bio_X509_PUBKEY,
  39. PEM_write_X509_PUBKEY,
  40. PEM_write_bio_X509_PUBKEY
  41. - PEM object encoding routines
  42. =head1 SYNOPSIS
  43. =for openssl generic
  44. #include <openssl/pem.h>
  45. DECLARE_PEM_rw(name, TYPE)
  46. TYPE *PEM_read_TYPE(FILE *fp, TYPE **a, pem_password_cb *cb, void *u);
  47. TYPE *PEM_read_bio_TYPE(BIO *bp, TYPE **a, pem_password_cb *cb, void *u);
  48. int PEM_write_TYPE(FILE *fp, const TYPE *a);
  49. int PEM_write_bio_TYPE(BIO *bp, const TYPE *a);
  50. =head1 DESCRIPTION
  51. In the description below, B<I<TYPE>> is used
  52. as a placeholder for any of the OpenSSL datatypes, such as B<X509>.
  53. The macro B<DECLARE_PEM_rw> expands to the set of declarations shown in
  54. the next four lines of the synopsis.
  55. These routines convert between local instances of ASN1 datatypes and
  56. the PEM encoding. For more information on the templates, see
  57. L<ASN1_ITEM(3)>. For more information on the lower-level routines used
  58. by the functions here, see L<PEM_read(3)>.
  59. B<PEM_read_I<TYPE>>() reads a PEM-encoded object of B<I<TYPE>> from the file
  60. I<fp> and returns it. The I<cb> and I<u> parameters are as described in
  61. L<pem_password_cb(3)>.
  62. B<PEM_read_bio_I<TYPE>>() is similar to B<PEM_read_I<TYPE>>() but reads from
  63. the BIO I<bp>.
  64. B<PEM_write_I<TYPE>>() writes the PEM encoding of the object I<a> to the file
  65. I<fp>.
  66. B<PEM_write_bio_I<TYPE>>() similarly writes to the BIO I<bp>.
  67. =head1 NOTES
  68. These functions make no assumption regarding the pass phrase received from the
  69. password callback.
  70. It will simply be treated as a byte sequence.
  71. =head1 RETURN VALUES
  72. B<PEM_read_I<TYPE>>() and B<PEM_read_bio_I<TYPE>>() return a pointer to an
  73. allocated object, which should be released by calling B<I<TYPE>_free>(), or
  74. NULL on error.
  75. B<PEM_write_I<TYPE>>() and B<PEM_write_bio_I<TYPE>>() return the number of bytes
  76. written or zero on error.
  77. =head1 SEE ALSO
  78. L<PEM_read(3)>,
  79. L<passphrase-encoding(7)>
  80. =head1 COPYRIGHT
  81. Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved.
  82. Licensed under the Apache License 2.0 (the "License"). You may not use
  83. this file except in compliance with the License. You can obtain a copy
  84. in the file LICENSE in the source distribution or at
  85. L<https://www.openssl.org/source/license.html>.
  86. =cut