2 * {- join("\n * ", @autowarntext) -}
4 * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
6 * Licensed under the Apache License 2.0 (the "License"). You may not use
7 * this file except in compliance with the License. You can obtain a copy
8 * in the file LICENSE in the source distribution or at
9 * https://www.openssl.org/source/license.html
13 use OpenSSL::stackhash qw(generate_stack_macros);
17 # define OPENSSL_ESS_H
20 # include <openssl/opensslconf.h>
22 # include <openssl/safestack.h>
23 # include <openssl/x509.h>
24 # include <openssl/esserr.h>
31 typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL;
32 typedef struct ESS_cert_id ESS_CERT_ID;
33 typedef struct ESS_signing_cert ESS_SIGNING_CERT;
36 generate_stack_macros("ESS_CERT_ID");
40 typedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2;
41 typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2;
44 generate_stack_macros("ESS_CERT_ID_V2");
47 DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_ISSUER_SERIAL)
48 DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_ISSUER_SERIAL, ESS_ISSUER_SERIAL)
49 DECLARE_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL)
51 DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID)
52 DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID, ESS_CERT_ID)
53 DECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID)
55 DECLARE_ASN1_FUNCTIONS(ESS_SIGNING_CERT)
56 DECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT)
58 DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID_V2)
59 DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID_V2, ESS_CERT_ID_V2)
60 DECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID_V2)
62 DECLARE_ASN1_FUNCTIONS(ESS_SIGNING_CERT_V2)
63 DECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT_V2)
65 ESS_SIGNING_CERT *OSSL_ESS_signing_cert_new_init(const X509 *signcert,
66 const STACK_OF(X509) *certs,
67 int set_issuer_serial);
68 ESS_SIGNING_CERT_V2 *OSSL_ESS_signing_cert_v2_new_init(const EVP_MD *hash_alg,
71 STACK_OF(X509) *certs,
72 int set_issuer_serial);
73 int OSSL_ESS_check_signing_certs(const ESS_SIGNING_CERT *ss,
74 const ESS_SIGNING_CERT_V2 *ssv2,
75 const STACK_OF(X509) *chain,
76 int require_signing_cert);