1*b077aed3SPierre Pronchery/* 2*b077aed3SPierre Pronchery * {- join("\n * ", @autowarntext) -} 3*b077aed3SPierre Pronchery * 4*b077aed3SPierre Pronchery * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved. 5*b077aed3SPierre Pronchery * 6*b077aed3SPierre Pronchery * Licensed under the Apache License 2.0 (the "License"). You may not use 7*b077aed3SPierre Pronchery * this file except in compliance with the License. You can obtain a copy 8*b077aed3SPierre Pronchery * in the file LICENSE in the source distribution or at 9*b077aed3SPierre Pronchery * https://www.openssl.org/source/license.html 10*b077aed3SPierre Pronchery */ 11*b077aed3SPierre Pronchery 12*b077aed3SPierre Pronchery{- 13*b077aed3SPierre Proncheryuse OpenSSL::stackhash qw(generate_stack_macros); 14*b077aed3SPierre Pronchery-} 15*b077aed3SPierre Pronchery 16*b077aed3SPierre Pronchery#ifndef OPENSSL_ESS_H 17*b077aed3SPierre Pronchery# define OPENSSL_ESS_H 18*b077aed3SPierre Pronchery# pragma once 19*b077aed3SPierre Pronchery 20*b077aed3SPierre Pronchery# include <openssl/opensslconf.h> 21*b077aed3SPierre Pronchery 22*b077aed3SPierre Pronchery# include <openssl/safestack.h> 23*b077aed3SPierre Pronchery# include <openssl/x509.h> 24*b077aed3SPierre Pronchery# include <openssl/esserr.h> 25*b077aed3SPierre Pronchery 26*b077aed3SPierre Pronchery# ifdef __cplusplus 27*b077aed3SPierre Proncheryextern "C" { 28*b077aed3SPierre Pronchery# endif 29*b077aed3SPierre Pronchery 30*b077aed3SPierre Pronchery 31*b077aed3SPierre Proncherytypedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; 32*b077aed3SPierre Proncherytypedef struct ESS_cert_id ESS_CERT_ID; 33*b077aed3SPierre Proncherytypedef struct ESS_signing_cert ESS_SIGNING_CERT; 34*b077aed3SPierre Pronchery 35*b077aed3SPierre Pronchery{- 36*b077aed3SPierre Pronchery generate_stack_macros("ESS_CERT_ID"); 37*b077aed3SPierre Pronchery-} 38*b077aed3SPierre Pronchery 39*b077aed3SPierre Pronchery 40*b077aed3SPierre Proncherytypedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2; 41*b077aed3SPierre Proncherytypedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; 42*b077aed3SPierre Pronchery 43*b077aed3SPierre Pronchery{- 44*b077aed3SPierre Pronchery generate_stack_macros("ESS_CERT_ID_V2"); 45*b077aed3SPierre Pronchery-} 46*b077aed3SPierre Pronchery 47*b077aed3SPierre ProncheryDECLARE_ASN1_ALLOC_FUNCTIONS(ESS_ISSUER_SERIAL) 48*b077aed3SPierre ProncheryDECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_ISSUER_SERIAL, ESS_ISSUER_SERIAL) 49*b077aed3SPierre ProncheryDECLARE_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) 50*b077aed3SPierre Pronchery 51*b077aed3SPierre ProncheryDECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID) 52*b077aed3SPierre ProncheryDECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID, ESS_CERT_ID) 53*b077aed3SPierre ProncheryDECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID) 54*b077aed3SPierre Pronchery 55*b077aed3SPierre ProncheryDECLARE_ASN1_FUNCTIONS(ESS_SIGNING_CERT) 56*b077aed3SPierre ProncheryDECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) 57*b077aed3SPierre Pronchery 58*b077aed3SPierre ProncheryDECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID_V2) 59*b077aed3SPierre ProncheryDECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID_V2, ESS_CERT_ID_V2) 60*b077aed3SPierre ProncheryDECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID_V2) 61*b077aed3SPierre Pronchery 62*b077aed3SPierre ProncheryDECLARE_ASN1_FUNCTIONS(ESS_SIGNING_CERT_V2) 63*b077aed3SPierre ProncheryDECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT_V2) 64*b077aed3SPierre Pronchery 65*b077aed3SPierre ProncheryESS_SIGNING_CERT *OSSL_ESS_signing_cert_new_init(const X509 *signcert, 66*b077aed3SPierre Pronchery const STACK_OF(X509) *certs, 67*b077aed3SPierre Pronchery int set_issuer_serial); 68*b077aed3SPierre ProncheryESS_SIGNING_CERT_V2 *OSSL_ESS_signing_cert_v2_new_init(const EVP_MD *hash_alg, 69*b077aed3SPierre Pronchery const X509 *signcert, 70*b077aed3SPierre Pronchery const 71*b077aed3SPierre Pronchery STACK_OF(X509) *certs, 72*b077aed3SPierre Pronchery int set_issuer_serial); 73*b077aed3SPierre Proncheryint OSSL_ESS_check_signing_certs(const ESS_SIGNING_CERT *ss, 74*b077aed3SPierre Pronchery const ESS_SIGNING_CERT_V2 *ssv2, 75*b077aed3SPierre Pronchery const STACK_OF(X509) *chain, 76*b077aed3SPierre Pronchery int require_signing_cert); 77*b077aed3SPierre Pronchery 78*b077aed3SPierre Pronchery# ifdef __cplusplus 79*b077aed3SPierre Pronchery} 80*b077aed3SPierre Pronchery# endif 81*b077aed3SPierre Pronchery#endif 82