PKCS12_add_cert.pod 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. =pod
  2. =head1 NAME
  3. PKCS12_add_cert, PKCS12_add_key,
  4. PKCS12_add_secret - Add an object to a set of PKCS#12 safeBags
  5. =head1 SYNOPSIS
  6. #include <openssl/pkcs12.h>
  7. PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert);
  8. PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags,
  9. EVP_PKEY *key, int key_usage, int iter,
  10. int key_nid, const char *pass);
  11. PKCS12_SAFEBAG *PKCS12_add_secret(STACK_OF(PKCS12_SAFEBAG) **pbags,
  12. int nid_type, const unsigned char *value, int len);
  13. =head1 DESCRIPTION
  14. These functions create a new B<PKCS12_SAFEBAG> and add it to the set of safeBags
  15. in I<pbags>.
  16. PKCS12_add_cert() creates a PKCS#12 certBag containing the supplied
  17. certificate and adds this to the set of PKCS#12 safeBags.
  18. PKCS12_add_key() creates a PKCS#12 keyBag (unencrypted) or a pkcs8shroudedKeyBag
  19. (encrypted) containing the supplied B<EVP_PKEY> and adds this to the set of PKCS#12
  20. safeBags. If I<key_nid> is not -1 then the key is encrypted with the supplied
  21. algorithm, using I<pass> as the passphrase and I<iter> as the iteration count. If
  22. I<iter> is zero then a default value for iteration count of 2048 is used.
  23. PKCS12_add_secret() creates a PKCS#12 secretBag with an OID corresponding to
  24. the supplied B<nid_type> containing the supplied value as an ASN1 octet string.
  25. This is then added to the set of PKCS#12 safeBags.
  26. =head1 NOTES
  27. If a certificate contains an B<alias> or a B<keyid> then this will be
  28. used for the corresponding B<friendlyName> or B<localKeyID> in the
  29. PKCS12 structure.
  30. PKCS12_add_key() makes assumptions regarding the encoding of the given pass
  31. phrase.
  32. See L<passphrase-encoding(7)> for more information.
  33. PKCS12_add_secret() was added in OpenSSL 3.0.
  34. =head1 RETURN VALUES
  35. A valid B<PKCS12_SAFEBAG> structure or NULL if an error occurred.
  36. =head1 SEE ALSO
  37. L<PKCS12_create(3)>
  38. =head1 COPYRIGHT
  39. Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
  40. Licensed under the Apache License 2.0 (the "License"). You may not use
  41. this file except in compliance with the License. You can obtain a copy
  42. in the file LICENSE in the source distribution or at
  43. L<https://www.openssl.org/source/license.html>.
  44. =cut