API参考
载入中...
搜索中...
未找到
bsl_obj_internal.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 BSL_OBJ_INTERNAL_H
17#define BSL_OBJ_INTERNAL_H
18
19#include "hitls_build.h"
20#ifdef HITLS_BSL_OBJ
21
22#include <stdint.h>
23#include "bsl_obj.h"
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29typedef enum {
30 BSL_OID_GLOBAL,
31 BSL_OID_HEAP
32} BslOidFlag;
33
34typedef struct {
35 BslOidString strOid;
36 const char *oidName;
37 BslCid cid;
38} BslOidInfo;
39
40typedef struct {
41 BslCid cid;
42 int32_t min;
43 int32_t max;
44 const char *shortName;
45} BslAsn1DnInfo;
46
47int32_t OBJ_GetHashIdFromSignId(BslCid signAlg, int32_t *hashId);
48
49BslCid BSL_OBJ_GetAsymAlgIdFromSignId(BslCid signAlg);
50
51const char *BSL_OBJ_GetOidNameFromOid(const BslOidString *oid);
52
53const char *BSL_OBJ_GetOidNameFromOidBuff(const uint8_t *oid, uint32_t oidLen);
54
55BslCid BSL_OBJ_GetSignIdFromHashAndAsymId(BslCid asymAlg, BslCid hashAlg);
56
57const BslAsn1DnInfo *BSL_OBJ_GetDnInfoFromCid(BslCid cid);
58
59const char *BSL_OBJ_GetOidNameFromCID(BslCid ulCID);
60
61const BslAsn1DnInfo *BSL_OBJ_GetDnInfoFromShortName(const char *shortName);
62
63#ifdef HITLS_BSL_OBJ_CUSTOM
64void BSL_OBJ_FreeSignHashTable(void);
65
66void BSL_OBJ_FreeHashTable(void);
67#endif // HITLS_BSL_OBJ_CUSTOM
68
69BslCid BSL_OBJ_GetCidFromOidBuff(const uint8_t *oid, uint32_t oidLen);
70
71#ifdef __cplusplus
72}
73#endif
74
75#endif
76
77#endif // BSL_OBJ_INTERNAL_H
BslCid
定义 bsl_obj.h:36
定义 bsl_obj.h:703