16#ifndef HITLS_CRL_LOCAL_H
17#define HITLS_CRL_LOCAL_H
19#include "hitls_build.h"
20#ifdef HITLS_PKI_X509_CRL
22#include "bsl_asn1_internal.h"
24#include "sal_atomic.h"
25#include "hitls_x509_local.h"
31#define HITLS_X509_CRL_PARSE_FLAG 0x01
32#define HITLS_X509_CRL_GEN_FLAG 0x02
34#define BSL_TIME_REVOKE_TIME_IS_GMT 0x4
36typedef struct _HITLS_X509_CrlEntry {
38 BSL_ASN1_Buffer serialNumber;
40 BSL_ASN1_List *extList;
45 uint32_t tbsRawDataLen;
48 HITLS_X509_Asn1AlgId signAlgId;
50 BSL_ASN1_List *issuerName;
51 HITLS_X509_ValidTime validTime;
53 BSL_ASN1_List *revokedCerts;
54 HITLS_X509_Ext crlExt;
58 HITLS_X509_CRL_STATE_NEW = 0,
59 HITLS_X509_CRL_STATE_SET,
60 HITLS_X509_CRL_STATE_SIGN,
61 HITLS_X509_CRL_STATE_GEN,
62} HITLS_X509_CRL_STATE;
64typedef struct _HITLS_X509_Crl {
70 HITLS_X509_CrlTbs tbs;
71 HITLS_X509_Asn1AlgId signAlgId;
72 BSL_ASN1_BitString signature;
74 BSL_SAL_RefCount references;
77int32_t HITLS_ParseCrlExtReason(HITLS_X509_ExtEntry *extEntry,
void *val);
79int32_t HITLS_ParseCrlExtInvalidTime(HITLS_X509_ExtEntry *extEntry,
void *val);