16#ifndef HITLS_CERT_LOCAL_H
17#define HITLS_CERT_LOCAL_H
19#include "hitls_build.h"
20#ifdef HITLS_PKI_X509_CRT
23#include "bsl_asn1_internal.h"
25#include "sal_atomic.h"
26#include "hitls_x509_local.h"
34 uint32_t tbsRawDataLen;
37 BSL_ASN1_Buffer serialNum;
38 HITLS_X509_Asn1AlgId signAlgId;
40 BSL_ASN1_List *issuerName;
41 HITLS_X509_ValidTime validTime;
42 BSL_ASN1_List *subjectName;
49 HITLS_X509_CERT_STATE_NEW = 0,
50 HITLS_X509_CERT_STATE_SET,
51 HITLS_X509_CERT_STATE_SIGN,
52 HITLS_X509_CERT_STATE_GEN,
53} HITLS_X509_CERT_STATE;
55typedef struct _HITLS_X509_Cert {
62 HITLS_X509_CertTbs tbs;
63 HITLS_X509_Asn1AlgId signAlgId;
64 BSL_ASN1_BitString signature;
66 BSL_SAL_RefCount references;
68 CRYPT_EAL_LibCtx *libCtx;
72#ifdef HITLS_PKI_X509_VFY
73bool HITLS_X509_CheckIssued(HITLS_X509_Cert *issue, HITLS_X509_Cert *subject);
74bool HITLS_X509_CertIsCA(HITLS_X509_Cert *cert);