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
);