API参考
载入中...
搜索中...
未找到
app_conf.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
16#ifndef HITLS_APP_CONF_H
17#define HITLS_APP_CONF_H
18
19#include <stdint.h>
20#include "bsl_obj.h"
21#include "bsl_conf.h"
22#include "hitls_pki_types.h"
23#include "hitls_pki_utils.h"
24#include "hitls_pki_csr.h"
25#include "hitls_pki_cert.h"
26#include "hitls_pki_crl.h"
27#include "hitls_pki_x509.h"
28#include "hitls_pki_pkcs12.h"
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
37#define HITLS_CFG_X509_EXT_AKI "authorityKeyIdentifier"
38#define HITLS_CFG_X509_EXT_SKI "subjectKeyIdentifier"
39#define HITLS_CFG_X509_EXT_BCONS "basicConstraints"
40#define HITLS_CFG_X509_EXT_KU "keyUsage"
41#define HITLS_CFG_X509_EXT_EXKU "extendedKeyUsage"
42#define HITLS_CFG_X509_EXT_SAN "subjectAltName"
43
44/* Key usage */
45#define HITLS_CFG_X509_EXT_KU_DIGITAL_SIGN "digitalSignature"
46#define HITLS_CFG_X509_EXT_KU_NON_REPUDIATION "nonRepudiation"
47#define HITLS_CFG_X509_EXT_KU_KEY_ENCIPHERMENT "keyEncipherment"
48#define HITLS_CFG_X509_EXT_KU_DATA_ENCIPHERMENT "dataEncipherment"
49#define HITLS_CFG_X509_EXT_KU_KEY_AGREEMENT "keyAgreement"
50#define HITLS_CFG_X509_EXT_KU_KEY_CERT_SIGN "keyCertSign"
51#define HITLS_CFG_X509_EXT_KU_CRL_SIGN "cRLSign"
52#define HITLS_CFG_X509_EXT_KU_ENCIPHER_ONLY "encipherOnly"
53#define HITLS_CFG_X509_EXT_KU_DECIPHER_ONLY "decipherOnly"
54
55/* Extended key usage */
56#define HITLS_CFG_X509_EXT_EXKU_SERVER_AUTH "serverAuth"
57#define HITLS_CFG_X509_EXT_EXKU_CLIENT_AUTH "clientAuth"
58#define HITLS_CFG_X509_EXT_EXKU_CODE_SING "codeSigning"
59#define HITLS_CFG_X509_EXT_EXKU_EMAIL_PROT "emailProtection"
60#define HITLS_CFG_X509_EXT_EXKU_TIME_STAMP "timeStamping"
61#define HITLS_CFG_X509_EXT_EXKU_OCSP_SIGN "OCSPSigning"
62
63/* Subject Alternative Name */
64#define HITLS_CFG_X509_EXT_SAN_EMAIL "email"
65#define HITLS_CFG_X509_EXT_SAN_DNS "DNS"
66#define HITLS_CFG_X509_EXT_SAN_DIR_NAME "dirName"
67#define HITLS_CFG_X509_EXT_SAN_URI "URI"
68#define HITLS_CFG_X509_EXT_SAN_IP "IP"
69
70/* Authority key identifier */
71#define HITLS_CFG_X509_EXT_AKI_KID (1 << 0)
72#define HITLS_CFG_X509_EXT_AKI_KID_ALWAYS (1 << 1)
73typedef struct {
75 uint32_t flag;
77
93int32_t HITLS_APP_SplitString(const char *str, char separator, bool allowEmpty, char **strArr, uint32_t maxArrCnt,
94 uint32_t *realCnt);
95
107typedef int32_t (*ProcExtCallBack)(BslCid cid, void *val, void *ctx);
108
121int32_t HITLS_APP_CONF_ProcExt(BSL_CONF *cnf, const char *section, ProcExtCallBack extCb, void *ctx);
122
133typedef int32_t (*AddDnNameCb)(void *ctx, BslList *nameList);
134
145int32_t HiTLS_AddSubjDnNameToCsr(void *csr, BslList *nameList);
146
159int32_t HITLS_APP_CFG_ProcDnName(const char *nameStr, AddDnNameCb cb, void *ctx);
160
161#ifdef __cplusplus
162}
163#endif
164#endif // HITLS_APP_CONF_H
BslCid
定义 bsl_obj.h:36
PKCS#12 public APIs.
定义 bsl_list.h:49
定义 app_conf.h:73
定义 hitls_pki_types.h:164