16#ifndef HITLS_APP_CONF_H
17#define HITLS_APP_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"
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"
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"
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"
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"
71#define HITLS_CFG_X509_EXT_AKI_KID (1 << 0)
72#define HITLS_CFG_X509_EXT_AKI_KID_ALWAYS (1 << 1)
93int32_t HITLS_APP_SplitString(
const char *str,
char separator,
bool allowEmpty,
char **strArr, uint32_t maxArrCnt,
107typedef int32_t (*ProcExtCallBack)(
BslCid cid,
void *val,
void *ctx);
121int32_t HITLS_APP_CONF_ProcExt(BSL_CONF *cnf,
const char *section, ProcExtCallBack extCb,
void *ctx);
133typedef int32_t (*AddDnNameCb)(
void *ctx,
BslList *nameList);
145int32_t HiTLS_AddSubjDnNameToCsr(
void *csr,
BslList *nameList);
159int32_t HITLS_APP_CFG_ProcDnName(
const char *nameStr, AddDnNameCb cb,
void *ctx);