• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# crypto_sym_key.h
2
3<!--Kit: Crypto Architecture Kit-->
4<!--Subsystem: Security-->
5<!--Owner: @zxz--3-->
6<!--Designer: @lanming-->
7<!--Tester: @PAFT-->
8<!--Adviser: @zengyawen-->
9
10## 概述
11
12定义对称密钥接口。
13
14**引用文件:** <CryptoArchitectureKit/crypto_sym_key.h>
15
16**库:** libohcrypto.so
17
18**系统能力:** SystemCapability.Security.CryptoFramework
19
20**起始版本:** 12
21
22**相关模块:** [CryptoSymKeyApi](capi-cryptosymkeyapi.md)
23
24## 汇总
25
26### 结构体
27
28| 名称 | typedef关键字 | 描述 |
29| -- | -- | -- |
30| [OH_CryptoSymKey](capi-cryptosymkeyapi-oh-cryptosymkey.md) | OH_CryptoSymKey | 定义对称密钥生成器结构。 |
31| [OH_CryptoSymKeyGenerator](capi-cryptosymkeyapi-oh-cryptosymkeygenerator.md) | OH_CryptoSymKeyGenerator | 定义对称密钥结构。 |
32
33### 函数
34
35| 名称 | 描述 |
36| -- | -- |
37| [OH_Crypto_ErrCode OH_CryptoSymKeyGenerator_Create(const char *algoName, OH_CryptoSymKeyGenerator **ctx)](#oh_cryptosymkeygenerator_create) | 根据给定的算法名称创建对称密钥生成器。 |
38| [OH_Crypto_ErrCode OH_CryptoSymKeyGenerator_Generate(OH_CryptoSymKeyGenerator *ctx, OH_CryptoSymKey **keyCtx)](#oh_cryptosymkeygenerator_generate) | 随机生成对称密钥。 |
39| [OH_Crypto_ErrCode OH_CryptoSymKeyGenerator_Convert(OH_CryptoSymKeyGenerator *ctx, const Crypto_DataBlob *keyData, OH_CryptoSymKey **keyCtx)](#oh_cryptosymkeygenerator_convert) | 将对称密钥数据转换为对称密钥。 |
40| [const char *OH_CryptoSymKeyGenerator_GetAlgoName(OH_CryptoSymKeyGenerator *ctx)](#oh_cryptosymkeygenerator_getalgoname) | 获取对称密钥生成器的算法名称。 |
41| [void OH_CryptoSymKeyGenerator_Destroy(OH_CryptoSymKeyGenerator *ctx)](#oh_cryptosymkeygenerator_destroy) | 销毁对称密钥生成器。 |
42| [const char *OH_CryptoSymKey_GetAlgoName(OH_CryptoSymKey *keyCtx)](#oh_cryptosymkey_getalgoname) | 从对称密钥获取对称密钥算法名称。 |
43| [OH_Crypto_ErrCode OH_CryptoSymKey_GetKeyData(OH_CryptoSymKey *keyCtx, Crypto_DataBlob *out)](#oh_cryptosymkey_getkeydata) | 从密钥实例获取对称密钥数据。 |
44| [void OH_CryptoSymKey_Destroy(OH_CryptoSymKey *keyCtx)](#oh_cryptosymkey_destroy) | 销毁对称密钥实例。 |
45
46## 函数说明
47
48### OH_CryptoSymKeyGenerator_Create()
49
50```
51OH_Crypto_ErrCode OH_CryptoSymKeyGenerator_Create(const char *algoName, OH_CryptoSymKeyGenerator **ctx)
52```
53
54**描述**
55
56根据给定的算法名称创建对称密钥生成器。
57
58**起始版本:** 12
59
60
61**参数:**
62
63| 参数项 | 描述 |
64| -- | -- |
65| const char *algoName | 用于生成生成器的算法名称。<br> 例如"AES256"、"AES128"、"SM4"等。 |
66| [OH_CryptoSymKeyGenerator](capi-cryptosymkeyapi-oh-cryptosymkeygenerator.md) **ctx | 指向对称密钥生成器实例的指针。 |
67
68**返回:**
69
70| 类型 | 说明 |
71| -- | -- |
72| [OH_Crypto_ErrCode](capi-crypto-common-h.md#oh_crypto_errcode) | CRYPTO_SUCCESS:操作成功。<br>         CRYPTO_INVALID_PARAMS:参数无效。<br>         CRYPTO_NOT_SUPPORTED:操作不支持。<br>         CRYPTO_MEMORY_ERROR:内存错误。<br>         CRYPTO_OPERTION_ERROR:调用三方算法库API出错。 |
73
74### OH_CryptoSymKeyGenerator_Generate()
75
76```
77OH_Crypto_ErrCode OH_CryptoSymKeyGenerator_Generate(OH_CryptoSymKeyGenerator *ctx, OH_CryptoSymKey **keyCtx)
78```
79
80**描述**
81
82随机生成对称密钥。
83
84**起始版本:** 12
85
86
87**参数:**
88
89| 参数项 | 描述 |
90| -- | -- |
91| [OH_CryptoSymKeyGenerator](capi-cryptosymkeyapi-oh-cryptosymkeygenerator.md) *ctx | 指向对称密钥生成器实例。 |
92| [OH_CryptoSymKey](capi-cryptosymkeyapi-oh-cryptosymkey.md) **keyCtx | 指向对称密钥的指针。 |
93
94**返回:**
95
96| 类型 | 说明 |
97| -- | -- |
98| [OH_Crypto_ErrCode](capi-crypto-common-h.md#oh_crypto_errcode) | CRYPTO_SUCCESS:操作成功。<br>         CRYPTO_INVALID_PARAMS:参数无效。<br>         CRYPTO_NOT_SUPPORTED:操作不支持。<br>         CRYPTO_MEMORY_ERROR:内存错误。<br>         CRYPTO_OPERTION_ERROR:调用三方算法库API出错。 |
99
100### OH_CryptoSymKeyGenerator_Convert()
101
102```
103OH_Crypto_ErrCode OH_CryptoSymKeyGenerator_Convert(OH_CryptoSymKeyGenerator *ctx,const Crypto_DataBlob *keyData, OH_CryptoSymKey **keyCtx)
104```
105
106**描述**
107
108将对称密钥数据转换为对称密钥。
109
110**起始版本:** 12
111
112
113**参数:**
114
115| 参数项 | 描述 |
116| -- | -- |
117| [OH_CryptoSymKeyGenerator](capi-cryptosymkeyapi-oh-cryptosymkeygenerator.md) *ctx | 指向对称密钥生成器实例。 |
118| [const Crypto_DataBlob](capi-cryptocommonapi-crypto-datablob.md) *keyData | 指向生成对称密钥的数据。 |
119| [OH_CryptoSymKey](capi-cryptosymkeyapi-oh-cryptosymkey.md) **keyCtx | 指向对称密钥实例的指针。 |
120
121**返回:**
122
123| 类型 | 说明 |
124| -- | -- |
125| [OH_Crypto_ErrCode](capi-crypto-common-h.md#oh_crypto_errcode) | CRYPTO_SUCCESS:操作成功。<br>         CRYPTO_INVALID_PARAMS:参数无效。<br>         CRYPTO_NOT_SUPPORTED:操作不支持。<br>         CRYPTO_MEMORY_ERROR:内存错误。<br>         CRYPTO_OPERTION_ERROR:调用三方算法库API出错。 |
126
127### OH_CryptoSymKeyGenerator_GetAlgoName()
128
129```
130const char *OH_CryptoSymKeyGenerator_GetAlgoName(OH_CryptoSymKeyGenerator *ctx)
131```
132
133**描述**
134
135获取对称密钥生成器的算法名称。
136
137**起始版本:** 12
138
139
140**参数:**
141
142| 参数项 | 描述 |
143| -- | -- |
144| [OH_CryptoSymKeyGenerator](capi-cryptosymkeyapi-oh-cryptosymkeygenerator.md) *ctx | 指向对称密钥生成器实例的指针。 |
145
146**返回:**
147
148| 类型 | 说明 |
149| -- | -- |
150| const char * | 返回对称密钥生成器算法名称。 |
151
152### OH_CryptoSymKeyGenerator_Destroy()
153
154```
155void OH_CryptoSymKeyGenerator_Destroy(OH_CryptoSymKeyGenerator *ctx)
156```
157
158**描述**
159
160销毁对称密钥生成器。
161
162**起始版本:** 12
163
164
165**参数:**
166
167| 参数项 | 描述 |
168| -- | -- |
169| [OH_CryptoSymKeyGenerator](capi-cryptosymkeyapi-oh-cryptosymkeygenerator.md) *ctx | 指向对称密钥生成器实例的指针。 |
170
171### OH_CryptoSymKey_GetAlgoName()
172
173```
174const char *OH_CryptoSymKey_GetAlgoName(OH_CryptoSymKey *keyCtx)
175```
176
177**描述**
178
179从对称密钥获取对称密钥算法名称。
180
181**起始版本:** 12
182
183
184**参数:**
185
186| 参数项 | 描述 |
187| -- | -- |
188| [OH_CryptoSymKey](capi-cryptosymkeyapi-oh-cryptosymkey.md) *keyCtx | 指向对称密钥实例。 |
189
190**返回:**
191
192| 类型 | 说明 |
193| -- | -- |
194| const char * | 返回对称密钥算法名称。 |
195
196### OH_CryptoSymKey_GetKeyData()
197
198```
199OH_Crypto_ErrCode OH_CryptoSymKey_GetKeyData(OH_CryptoSymKey *keyCtx, Crypto_DataBlob *out)
200```
201
202**描述**
203
204从密钥实例获取对称密钥数据。
205
206**起始版本:** 12
207
208
209**参数:**
210
211| 参数项 | 描述 |
212| -- | -- |
213| [OH_CryptoSymKey](capi-cryptosymkeyapi-oh-cryptosymkey.md) *keyCtx | 指向对称密钥实例。 |
214| [Crypto_DataBlob](capi-cryptocommonapi-crypto-datablob.md) *out | 获取到的结果。 |
215
216**返回:**
217
218| 类型 | 说明 |
219| -- | -- |
220| [OH_Crypto_ErrCode](capi-crypto-common-h.md#oh_crypto_errcode) | CRYPTO_SUCCESS:操作成功。<br>         CRYPTO_INVALID_PARAMS:参数无效。<br>         CRYPTO_NOT_SUPPORTED:操作不支持。<br>         CRYPTO_MEMORY_ERROR:内存错误。<br>         CRYPTO_OPERTION_ERROR:调用三方算法库API出错。 |
221
222### OH_CryptoSymKey_Destroy()
223
224```
225void OH_CryptoSymKey_Destroy(OH_CryptoSymKey *keyCtx)
226```
227
228**描述**
229
230销毁对称密钥实例。
231
232**起始版本:** 12
233
234
235**参数:**
236
237| 参数项 | 描述 |
238| -- | -- |
239| [OH_CryptoSymKey](capi-cryptosymkeyapi-oh-cryptosymkey.md) *keyCtx | 指向对称密钥实例。 |
240
241
242