a0 CˆÇÔ „ íÿÓ¿Ñ?÷C/* * Copyright 2006-2024 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ #ifndef OPENSSL_TS_H #define OPENSSL_TS_H #pragma once #include #ifndef OPENSSL_NO_DEPRECATED_3_0 #define HEADER_TS_H #endif #include #ifndef OPENSSL_NO_TS #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef OPENSSL_NO_STDIO #include #endif #ifdef __cplusplus extern "C" { #endif typedef struct TS_msg_imprint_st TS_MSG_IMPRINT; typedef struct TS_req_st TS_REQ; typedef struct TS_accuracy_st TS_ACCURACY; typedef struct TS_tst_info_st TS_TST_INFO; /* Possible values for status. */ #define TS_STATUS_GRANTED 0 #define TS_STATUS_GRANTED_WITH_MODS 1 #define TS_STATUS_REJECTION 2 #define TS_STATUS_WAITING 3 #define TS_STATUS_REVOCATION_WARNING 4 #define TS_STATUS_REVOCATION_NOTIFICATION 5 /* Possible values for failure_info. */ #define TS_INFO_BAD_ALG 0 #define TS_INFO_BAD_REQUEST 2 #define TS_INFO_BAD_DATA_FORMAT 5 #define TS_INFO_TIME_NOT_AVAILABLE 14 #define TS_INFO_UNACCEPTED_POLICY 15 #define TS_INFO_UNACCEPTED_EXTENSION 16 #define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 #define TS_INFO_SYSTEM_FAILURE 25 typedef struct TS_status_info_st TS_STATUS_INFO; typedef struct TS_resp_st TS_RESP; DECLARE_ASN1_ALLOC_FUNCTIONS(TS_REQ) DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_REQ, TS_REQ) DECLARE_ASN1_DUP_FUNCTION(TS_REQ) #ifndef OPENSSL_NO_STDIO TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); int i2d_TS_REQ_fp(FILE *fp, const TS_REQ *a); #endif TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); int i2d_TS_REQ_bio(BIO *fp, const TS_REQ *a); DECLARE_ASN1_ALLOC_FUNCTIONS(TS_MSG_IMPRINT) DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_MSG_IMPRINT, TS_MSG_IMPRINT) DECLARE_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) #ifndef OPENSSL_NO_STDIO TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); int i2d_TS_MSG_IMPRINT_fp(FILE *fp, const TS_MSG_IMPRINT *a); #endif TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT **a); int i2d_TS_MSG_IMPRINT_bio(BIO *bio, const TS_MSG_IMPRINT *a); DECLARE_ASN1_ALLOC_FUNCTIONS(TS_RESP) DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_RESP, TS_RESP) DECLARE_ASN1_DUP_FUNCTION(TS_RESP) #ifndef OPENSSL_NO_STDIO TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); int i2d_TS_RESP_fp(FILE *fp, const TS_RESP *a); #endif TS_RESP *d2i_TS_RESP_bio(BIO *bio, TS_RESP **a); int i2d_TS_RESP_bio(BIO *bio, const TS_RESP *a); DECLARE_ASN1_ALLOC_FUNCTIONS(TS_STATUS_INFO) DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_STATUS_INFO, TS_STATUS_INFO) DECLARE_ASN1_DUP_FUNCTION(TS_STATUS_INFO) DECLARE_ASN1_ALLOC_FUNCTIONS(TS_TST_INFO) DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_TST_INFO, TS_TST_INFO) DECLARE_ASN1_DUP_FUNCTION(TS_TST_INFO) TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); #ifndef OPENSSL_NO_STDIO TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); int i2d_TS_TST_INFO_fp(FILE *fp, const TS_TST_INFO *a); #endif TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO **a); int i2d_TS_TST_INFO_bio(BIO *bio, const TS_TST_INFO *a); DECLARE_ASN1_ALLOC_FUNCTIONS(TS_ACCURACY) DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_ACCURACY, TS_ACCURACY) DECLARE_ASN1_DUP_FUNCTION(TS_ACCURACY) int TS_REQ_set_version(TS_REQ *a, long version); long TS_REQ_get_version(const TS_REQ *a); int TS_STATUS_INFO_set_status(TS_STATUS_INFO *a, int i); const ASN1_INTEGER *TS_STATUS_INFO_get0_status(const TS_STATUS_INFO *a); const STACK_OF(ASN1_UTF8STRING) * TS_STATUS_INFO_get0_text(const TS_STATUS_INFO *a); const ASN1_BIT_STRING * TS_STATUS_INFO_get0_failure_info(c