x509_acert.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * Copyright 2021 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. #ifndef OSSL_CRYPTO_X509_ACERT_H
  10. # define OSSL_CRYPTO_X509_ACERT_H
  11. # pragma once
  12. # include <openssl/x509_acert.h>
  13. struct ossl_object_digest_info_st {
  14. ASN1_ENUMERATED digestedObjectType;
  15. ASN1_OBJECT *otherObjectTypeID;
  16. X509_ALGOR digestAlgorithm;
  17. ASN1_BIT_STRING objectDigest;
  18. };
  19. struct ossl_issuer_serial_st {
  20. STACK_OF(GENERAL_NAME) *issuer;
  21. ASN1_INTEGER serial;
  22. ASN1_BIT_STRING *issuerUID;
  23. };
  24. struct X509_acert_issuer_v2form_st {
  25. STACK_OF(GENERAL_NAME) *issuerName;
  26. OSSL_ISSUER_SERIAL *baseCertificateId;
  27. OSSL_OBJECT_DIGEST_INFO *objectDigestInfo;
  28. };
  29. typedef struct X509_acert_issuer_st {
  30. int type;
  31. union {
  32. STACK_OF(GENERAL_NAME) *v1Form;
  33. X509_ACERT_ISSUER_V2FORM *v2Form;
  34. } u;
  35. } X509_ACERT_ISSUER;
  36. typedef struct X509_holder_st {
  37. OSSL_ISSUER_SERIAL *baseCertificateID;
  38. STACK_OF(GENERAL_NAME) *entityName;
  39. OSSL_OBJECT_DIGEST_INFO *objectDigestInfo;
  40. } X509_HOLDER;
  41. struct X509_acert_info_st {
  42. ASN1_INTEGER version; /* default of v2 */
  43. X509_HOLDER holder;
  44. X509_ACERT_ISSUER issuer;
  45. X509_ALGOR signature;
  46. ASN1_INTEGER serialNumber;
  47. X509_VAL validityPeriod;
  48. STACK_OF(X509_ATTRIBUTE) *attributes;
  49. ASN1_BIT_STRING *issuerUID;
  50. X509_EXTENSIONS *extensions;
  51. };
  52. struct X509_acert_st {
  53. X509_ACERT_INFO *acinfo;
  54. X509_ALGOR sig_alg;
  55. ASN1_BIT_STRING signature;
  56. };
  57. #endif