API参考
载入中...
搜索中...
未找到
hitls_cert_type.h
1/*
2 * This file is part of the openHiTLS project.
3 *
4 * openHiTLS is licensed under the Mulan PSL v2.
5 * You can use this software according to the terms and conditions of the Mulan PSL v2.
6 * You may obtain a copy of Mulan PSL v2 at:
7 *
8 * http://license.coscl.org.cn/MulanPSL2
9 *
10 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
12 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
13 * See the Mulan PSL v2 for more details.
14 */
15
21
22#ifndef HITLS_CERT_TYPE_H
23#define HITLS_CERT_TYPE_H
24
25#include <stdint.h>
26#include "bsl_obj.h"
27#include "bsl_types.h"
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
37typedef void HITLS_CERT_X509;
38
43typedef void HITLS_CERT_CRL;
44
49typedef void HITLS_CERT_Key;
50
55typedef void HITLS_CERT_Store;
56
62
68
74
80
118
119typedef enum {
120 HITLS_BUILD_CHAIN_FLAG_NO_ROOT = 0x2,
121 HITLS_BUILD_CHAIN_FLAG_CHECK = 0x4,
122 HITLS_BUILD_CHAIN_FLAG_IGNORE_ERROR = 0x8,
123} HITLS_BUILD_CHAIN_FLAG;
124
129typedef enum {
132 TLS_PARSE_TYPE_BUTT,
134
139typedef enum {
140 TLS_PARSE_FORMAT_PEM = BSL_FORMAT_PEM,
141 TLS_PARSE_FORMAT_ASN1 = BSL_FORMAT_ASN1,
142 TLS_PARSE_FORMAT_PFX_COM = BSL_FORMAT_PFX_COM,
143 TLS_PARSE_FORMAT_PKCS12 = BSL_FORMAT_PKCS12,
144 TLS_PARSE_FORMAT_BUTT = BSL_FORMAT_UNKNOWN,
146
157
162typedef enum {
163 TLS_CERT_KEY_TYPE_UNKNOWN = BSL_CID_UNKNOWN,
164 TLS_CERT_KEY_TYPE_RSA = BSL_CID_RSA,
165 TLS_CERT_KEY_TYPE_RSA_PSS = BSL_CID_RSASSAPSS,
166 TLS_CERT_KEY_TYPE_DSA = BSL_CID_DSA,
167 TLS_CERT_KEY_TYPE_ECDSA = BSL_CID_ECDSA,
168 TLS_CERT_KEY_TYPE_ED25519 = BSL_CID_ED25519,
169 TLS_CERT_KEY_TYPE_SM2 = BSL_CID_SM2DSA
171
177typedef enum {
178 /* Reservation algorithm. */
179 CERT_SIG_SCHEME_RSA_PKCS1_SHA1 = 0x0201,
180 CERT_SIG_SCHEME_DSA_SHA1 = 0X0202,
181 CERT_SIG_SCHEME_ECDSA_SHA1 = 0x0203,
182 CERT_SIG_SCHEME_ECDSA_SHA224 = 0x0303,
183 /* RSASSA-PKCS1-v1_5 algorithms */
184 CERT_SIG_SCHEME_RSA_PKCS1_SHA224 = 0x0301,
185 CERT_SIG_SCHEME_RSA_PKCS1_SHA256 = 0x0401,
186 CERT_SIG_SCHEME_RSA_PKCS1_SHA384 = 0x0501,
187 CERT_SIG_SCHEME_RSA_PKCS1_SHA512 = 0x0601,
188 /* DSA algorithms */
189 CERT_SIG_SCHEME_DSA_SHA224 = 0x0302,
193 /* ECDSA algorithms */
194 CERT_SIG_SCHEME_ECDSA_SECP256R1_SHA256 = 0x0403,
195 CERT_SIG_SCHEME_ECDSA_SECP384R1_SHA384 = 0x0503,
196 CERT_SIG_SCHEME_ECDSA_SECP521R1_SHA512 = 0x0603,
197 /* GM sig algorithms */
198 CERT_SIG_SCHEME_SM2_SM3 = 0x0708,
199 /* RSASSA-PSS algorithms with public key OID rsaEncryption */
200 CERT_SIG_SCHEME_RSA_PSS_RSAE_SHA256 = 0x0804,
201 CERT_SIG_SCHEME_RSA_PSS_RSAE_SHA384 = 0x0805,
202 CERT_SIG_SCHEME_RSA_PSS_RSAE_SHA512 = 0x0806,
203 /* EdDSA algorithms */
204 CERT_SIG_SCHEME_ED25519 = 0x0807,
205 CERT_SIG_SCHEME_ED448 = 0x0808,
206 /* RSASSA-PSS algorithms with public key OID RSASSA-PSS */
207 CERT_SIG_SCHEME_RSA_PSS_PSS_SHA256 = 0x0809,
208 CERT_SIG_SCHEME_RSA_PSS_PSS_SHA384 = 0x080a,
209 CERT_SIG_SCHEME_RSA_PSS_PSS_SHA512 = 0x080b,
210 CERT_SIG_SCHEME_UNKNOWN = 0xffff
212
224
234
235#ifdef __cplusplus
236}
237#endif
238
239#endif /* HITLS_CERT_TYPE_H */
@ BSL_CID_UNKNOWN
定义 bsl_obj.h:37
HITLS_ParseType
Read data format
定义 hitls_cert_type.h:129
void HITLS_CERT_CRL
Describes the CRL
定义 hitls_cert_type.h:43
void HITLS_CERT_Key
Describes the certificate key
定义 hitls_cert_type.h:49
HITLS_ParseFormat
Read data format
定义 hitls_cert_type.h:139
void HITLS_CERT_StoreCtx
Describes the certificate
定义 hitls_cert_type.h:61
struct BslList HITLS_CERT_Chain
Describes the certificate chain
定义 hitls_cert_type.h:73
HITLS_CERT_CtrlCmd
ctrl option
定义 hitls_cert_type.h:85
void HITLS_CERT_Store
Describes the certificate
定义 hitls_cert_type.h:55
HITLS_SignHashAlgo
Certificate Signature Algorithm Enumeration
定义 hitls_cert_type.h:177
void HITLS_CERT_X509
Describes the x509 certificate
定义 hitls_cert_type.h:37
struct BslList HITLS_CERT_CRLList
Describes the CRL list
定义 hitls_cert_type.h:79
struct BslList HITLS_TrustedCAList
Describes the list of trusted CAs
定义 hitls_cert_type.h:67
struct HitlsTrustedCANode HITLS_TrustedCANode
Node structure used to describe the trusted CA certificate list
HITLS_TrustedCAType
Trusted CA ID Type
定义 hitls_cert_type.h:217
HITLS_CERT_KeyType
Certificate Public Key Type
定义 hitls_cert_type.h:162
HITLS_CERT_StoreType
cert store type
定义 hitls_cert_type.h:151
@ TLS_PARSE_TYPE_BUFF
定义 hitls_cert_type.h:131
@ TLS_PARSE_TYPE_FILE
定义 hitls_cert_type.h:130
@ TLS_PARSE_FORMAT_ASN1
定义 hitls_cert_type.h:141
@ TLS_PARSE_FORMAT_PFX_COM
定义 hitls_cert_type.h:142
@ TLS_PARSE_FORMAT_PKCS12
定义 hitls_cert_type.h:143
@ TLS_PARSE_FORMAT_PEM
定义 hitls_cert_type.h:140
@ CERT_KEY_CTRL_IS_KEY_CERT_SIGN_USAGE
定义 hitls_cert_type.h:109
@ CERT_STORE_CTRL_GET_VERIFY_DEPTH
定义 hitls_cert_type.h:88
@ CERT_KEY_CTRL_GET_TYPE
定义 hitls_cert_type.h:103
@ CERT_KEY_CTRL_IS_KEY_AGREEMENT_USAGE
定义 hitls_cert_type.h:110
@ CERT_STORE_CTRL_SET_VERIFY_DEPTH
定义 hitls_cert_type.h:86
@ CERT_STORE_CTRL_ADD_CERT_LIST
定义 hitls_cert_type.h:87
@ CERT_KEY_CTRL_GET_SECBITS
定义 hitls_cert_type.h:106
@ CERT_CTRL_GET_ENCODE_LEN
定义 hitls_cert_type.h:96
@ CERT_KEY_CTRL_IS_DIGITAL_SIGN_USAGE
定义 hitls_cert_type.h:108
@ CERT_STORE_CTRL_GET_VERIFY_FLAGS
定义 hitls_cert_type.h:93
@ CERT_CTRL_GET_PUB_KEY
定义 hitls_cert_type.h:97
@ CERT_STORE_CTRL_ADD_CRL_LIST
定义 hitls_cert_type.h:89
@ CERT_KEY_CTRL_IS_KEYENC_USAGE
定义 hitls_cert_type.h:107
@ CERT_KEY_CTRL_GET_CURVE_NAME
定义 hitls_cert_type.h:104
@ CERT_CTRL_GET_SIGN_ALGO
定义 hitls_cert_type.h:98
@ CERT_CTRL_GET_ENCODE_SUBJECT_DN
定义 hitls_cert_type.h:99
@ CERT_KEY_CTRL_IS_NON_REPUDIATION_USAGE
定义 hitls_cert_type.h:113
@ CERT_KEY_CTRL_GET_POINT_FORMAT
定义 hitls_cert_type.h:105
@ CERT_KEY_CTRL_GET_PARAM_ID
定义 hitls_cert_type.h:111
@ CERT_KEY_CTRL_GET_SIGN_LEN
定义 hitls_cert_type.h:102
@ CERT_STORE_CTRL_CLEAR_CRL_LIST
定义 hitls_cert_type.h:90
@ CERT_KEY_CTRL_IS_DATA_ENC_USAGE
定义 hitls_cert_type.h:112
@ CERT_STORE_CTRL_SET_VERIFY_FLAGS
定义 hitls_cert_type.h:92
@ CERT_STORE_CTRL_SET_DEFAULT_PATH
定义 hitls_cert_type.h:94
@ CERT_KEY_CTRL_GET_PSS_MD
定义 hitls_cert_type.h:114
@ CERT_STORE_CTRL_ADD_CA_PATH
定义 hitls_cert_type.h:91
@ CERT_SIG_SCHEME_DSA_SHA384
定义 hitls_cert_type.h:191
@ CERT_SIG_SCHEME_DSA_SHA256
定义 hitls_cert_type.h:190
@ CERT_SIG_SCHEME_DSA_SHA512
定义 hitls_cert_type.h:192
@ HITLS_TRUSTED_CA_KEY_SHA1
定义 hitls_cert_type.h:219
@ HITLS_TRUSTED_CA_CERT_SHA1
定义 hitls_cert_type.h:221
@ HITLS_TRUSTED_CA_PRE_AGREED
定义 hitls_cert_type.h:218
@ HITLS_TRUSTED_CA_X509_NAME
定义 hitls_cert_type.h:220
@ TLS_CERT_STORE_TYPE_CHAIN
定义 hitls_cert_type.h:154
@ TLS_CERT_STORE_TYPE_VERIFY
定义 hitls_cert_type.h:153
@ TLS_CERT_STORE_TYPE_DEFAULT
定义 hitls_cert_type.h:152
定义 bsl_list.h:49
Node structure used to describe the trusted CA certificate list
定义 hitls_cert_type.h:229
uint8_t * data
定义 hitls_cert_type.h:231
HITLS_TrustedCAType caType
定义 hitls_cert_type.h:230
uint32_t dataSize
定义 hitls_cert_type.h:232