p12_local.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License 2.0 (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. struct PKCS12_MAC_DATA_st {
  10. X509_SIG *dinfo;
  11. ASN1_OCTET_STRING *salt;
  12. ASN1_INTEGER *iter; /* defaults to 1 */
  13. };
  14. struct PKCS12_st {
  15. ASN1_INTEGER *version;
  16. PKCS12_MAC_DATA *mac;
  17. PKCS7 *authsafes;
  18. };
  19. struct PKCS12_SAFEBAG_st {
  20. ASN1_OBJECT *type;
  21. union {
  22. struct pkcs12_bag_st *bag; /* secret, crl and certbag */
  23. struct pkcs8_priv_key_info_st *keybag; /* keybag */
  24. X509_SIG *shkeybag; /* shrouded key bag */
  25. STACK_OF(PKCS12_SAFEBAG) *safes;
  26. ASN1_TYPE *other;
  27. } value;
  28. STACK_OF(X509_ATTRIBUTE) *attrib;
  29. };
  30. struct pkcs12_bag_st {
  31. ASN1_OBJECT *type;
  32. union {
  33. ASN1_OCTET_STRING *x509cert;
  34. ASN1_OCTET_STRING *x509crl;
  35. ASN1_OCTET_STRING *octet;
  36. ASN1_IA5STRING *sdsicert;
  37. ASN1_TYPE *other; /* Secret or other bag */
  38. } value;
  39. };
  40. const PKCS7_CTX *ossl_pkcs12_get0_pkcs7ctx(const PKCS12 *p12);