• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *    http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "huks_misc_test.h"
17 #include <gtest/gtest.h>
18 
19 using namespace testing::ext;
20 namespace Unittest::HuksMisc
21 {
22     class HuksMiscTest : public testing::Test
23     {
24     public:
25         static void SetUpTestCase(void);
26 
27         static void TearDownTestCase(void);
28 
29         void SetUp();
30 
31         void TearDown();
32     };
33 
SetUpTestCase(void)34     void HuksMiscTest::SetUpTestCase(void)
35     {
36     }
37 
TearDownTestCase(void)38     void HuksMiscTest::TearDownTestCase(void)
39     {
40     }
41 
SetUp()42     void HuksMiscTest::SetUp()
43     {
44 
45     }
46 
TearDown()47     void HuksMiscTest::TearDown()
48     {
49     }
50 
51     /**
52      * @tc.name: HuksMiscTest.Security_HUKS_NAPI_Misc_0100
53      * @tc.desc: misc test
54      * @tc.type: FUNC
55      */
56     HWTEST_F(HuksMiscTest, Security_HUKS_NAPI_Misc_0100, TestSize.Level0)
57     {
58         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_NONE == 0, true);
59         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_MD5 == 1, true);
60         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_SM3 == 2, true);
61         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_SHA1 == 10, true);
62         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_SHA224 == 11, true);
63         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_SHA256 == 12, true);
64         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_SHA384 == 13, true);
65         ASSERT_EQ((uint32_t)OH_HUKS_DIGEST_SHA512 == 14, true);
66         ASSERT_EQ((uint32_t)OH_HUKS_PADDING_NONE == 0, true);
67         ASSERT_EQ((uint32_t)OH_HUKS_PADDING_OAEP == 1, true);
68         ASSERT_EQ((uint32_t)OH_HUKS_PADDING_PSS == 2, true);
69         ASSERT_EQ((uint32_t)OH_HUKS_PADDING_PKCS1_V1_5 == 3, true);
70         ASSERT_EQ((uint32_t)OH_HUKS_PADDING_PKCS5 == 4, true);
71         ASSERT_EQ((uint32_t)OH_HUKS_PADDING_PKCS7 == 5, true);
72         ASSERT_EQ((uint32_t)OH_HUKS_MODE_ECB == 1, true);
73         ASSERT_EQ((uint32_t)OH_HUKS_MODE_CBC == 2, true);
74         ASSERT_EQ((uint32_t)OH_HUKS_MODE_CTR == 3, true);
75         ASSERT_EQ((uint32_t)OH_HUKS_MODE_OFB == 4, true);
76         ASSERT_EQ((uint32_t)OH_HUKS_MODE_CCM == 31, true);
77         ASSERT_EQ((uint32_t)OH_HUKS_MODE_GCM == 32, true);
78         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_ENCRYPT == 1, true);
79         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_DECRYPT == 2, true);
80         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_SIGN == 4, true);
81         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_VERIFY == 8, true);
82         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_DERIVE == 16, true);
83         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_WRAP == 32, true);
84         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_UNWRAP == 64, true);
85         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_MAC == 128, true);
86         ASSERT_EQ((uint32_t)OH_HUKS_KEY_PURPOSE_AGREE == 256, true);
87         ASSERT_EQ((uint32_t)OH_HUKS_RSA_KEY_SIZE_512 == 512, true);
88         ASSERT_EQ((uint32_t)OH_HUKS_RSA_KEY_SIZE_768 == 768, true);
89         ASSERT_EQ((uint32_t)OH_HUKS_RSA_KEY_SIZE_1024 == 1024, true);
90         ASSERT_EQ((uint32_t)OH_HUKS_RSA_KEY_SIZE_2048 == 2048, true);
91         ASSERT_EQ((uint32_t)OH_HUKS_RSA_KEY_SIZE_3072 == 3072, true);
92         ASSERT_EQ((uint32_t)OH_HUKS_RSA_KEY_SIZE_4096 == 4096, true);
93         ASSERT_EQ((uint32_t)OH_HUKS_ECC_KEY_SIZE_224 == 224, true);
94         ASSERT_EQ((uint32_t)OH_HUKS_ECC_KEY_SIZE_256 == 256, true);
95         ASSERT_EQ((uint32_t)OH_HUKS_ECC_KEY_SIZE_384 == 384, true);
96         ASSERT_EQ((uint32_t)OH_HUKS_ECC_KEY_SIZE_521 == 521, true);
97         ASSERT_EQ((uint32_t)OH_HUKS_AES_KEY_SIZE_128 == 128, true);
98         ASSERT_EQ((uint32_t)OH_HUKS_AES_KEY_SIZE_192 == 192, true);
99         ASSERT_EQ((uint32_t)OH_HUKS_AES_KEY_SIZE_256 == 256, true);
100         ASSERT_EQ((uint32_t)OH_HUKS_AES_KEY_SIZE_512 == 512, true);
101         ASSERT_EQ((uint32_t)OH_HUKS_DH_KEY_SIZE_2048 == 2048, true);
102         ASSERT_EQ((uint32_t)OH_HUKS_DH_KEY_SIZE_3072 == 3072, true);
103         ASSERT_EQ((uint32_t)OH_HUKS_DH_KEY_SIZE_4096 == 4096, true);
104         ASSERT_EQ((uint32_t)OH_HUKS_SM2_KEY_SIZE_256 == 256, true);
105         ASSERT_EQ((uint32_t)OH_HUKS_SM4_KEY_SIZE_128 == 128, true);
106         ASSERT_EQ((uint32_t)OH_HUKS_ALG_RSA == 1, true);
107         ASSERT_EQ((uint32_t)OH_HUKS_ALG_ECC == 2, true);
108         ASSERT_EQ((uint32_t)OH_HUKS_ALG_DSA == 3, true);
109         ASSERT_EQ((uint32_t)OH_HUKS_ALG_AES == 20, true);
110         ASSERT_EQ((uint32_t)OH_HUKS_ALG_HMAC == 50, true);
111         ASSERT_EQ((uint32_t)OH_HUKS_ALG_HKDF == 51, true);
112         ASSERT_EQ((uint32_t)OH_HUKS_ALG_PBKDF2 == 52, true);
113         ASSERT_EQ((uint32_t)OH_HUKS_ALG_ECDH == 100, true);
114         ASSERT_EQ((uint32_t)OH_HUKS_ALG_X25519 == 101, true);
115         ASSERT_EQ((uint32_t)OH_HUKS_ALG_ED25519 == 102, true);
116         ASSERT_EQ((uint32_t)OH_HUKS_ALG_DH == 103, true);
117         ASSERT_EQ((uint32_t)OH_HUKS_ALG_SM2 == 150, true);
118         ASSERT_EQ((uint32_t)OH_HUKS_ALG_SM3 == 151, true);
119         ASSERT_EQ((uint32_t)OH_HUKS_ALG_SM4 == 152, true);
120         ASSERT_EQ((uint32_t)OH_HUKS_UNWRAP_SUITE_X25519_AES_256_GCM_NOPADDING == 1, true);
121         ASSERT_EQ((uint32_t)OH_HUKS_UNWRAP_SUITE_ECDH_AES_256_GCM_NOPADDING == 2, true);
122         ASSERT_EQ((uint32_t)OH_HUKS_KEY_GENERATE_TYPE_DEFAULT == 0, true);
123         ASSERT_EQ((uint32_t)OH_HUKS_KEY_GENERATE_TYPE_DERIVE == 1, true);
124         ASSERT_EQ((uint32_t)OH_HUKS_KEY_GENERATE_TYPE_AGREE == 2, true);
125         ASSERT_EQ((uint32_t)OH_HUKS_KEY_FLAG_IMPORT_KEY == 1, true);
126         ASSERT_EQ((uint32_t)OH_HUKS_KEY_FLAG_GENERATE_KEY == 2, true);
127         ASSERT_EQ((uint32_t)OH_HUKS_KEY_FLAG_AGREE_KEY == 3, true);
128         ASSERT_EQ((uint32_t)OH_HUKS_KEY_FLAG_DERIVE_KEY == 4, true);
129         ASSERT_EQ((uint32_t)OH_HUKS_STORAGE_TEMP == 0, true);
130         ASSERT_EQ((uint32_t)OH_HUKS_STORAGE_PERSISTENT == 1, true);
131         ASSERT_EQ((uint32_t)OH_HUKS_KEY_TYPE_PUBLIC_KEY == 0, true);
132         ASSERT_EQ((uint32_t)OH_HUKS_KEY_TYPE_PRIVATE_KEY == 1, true);
133         ASSERT_EQ((uint32_t)OH_HUKS_KEY_TYPE_KEY_PAIR == 2, true);
134         ASSERT_EQ((uint32_t)OH_HUKS_SUCCESS == 0, true);
135         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_PERMISSION_FAIL == 201, true);
136         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT == 401, true);
137         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_NOT_SUPPORTED_API == 801, true);
138         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_FEATURE_NOT_SUPPORTED == 12000001, true);
139         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_MISSING_CRYPTO_ALG_ARGUMENT == 12000002, true);
140         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_INVALID_CRYPTO_ALG_ARGUMENT == 12000003, true);
141         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_FILE_OPERATION_FAIL == 12000004, true);
142         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_COMMUNICATION_FAIL == 12000005, true);
143         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_CRYPTO_FAIL == 12000006, true);
144         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_KEY_AUTH_PERMANENTLY_INVALIDATED == 12000007, true);
145         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_KEY_AUTH_VERIFY_FAILED == 12000008, true);
146         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_KEY_AUTH_TIME_OUT == 12000009, true);
147         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_SESSION_LIMIT == 12000010, true);
148         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_ITEM_NOT_EXIST == 12000011, true);
149         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_INTERNAL_ERROR == 12000012, true);
150         ASSERT_EQ((uint32_t)OH_HUKS_ERR_CODE_CREDENTIAL_NOT_EXIST == 12000013, true);
151         ASSERT_EQ((uint32_t)OH_HUKS_TAG_TYPE_INVALID == 0 << 28, true);
152         ASSERT_EQ((uint32_t)OH_HUKS_TAG_TYPE_INT == 1 << 28, true);
153         ASSERT_EQ((uint32_t)OH_HUKS_TAG_TYPE_UINT == 2 << 28, true);
154         ASSERT_EQ((uint32_t)OH_HUKS_TAG_TYPE_ULONG == 3 << 28, true);
155         ASSERT_EQ((uint32_t)OH_HUKS_TAG_TYPE_BOOL == 4 << 28, true);
156         ASSERT_EQ((uint32_t)OH_HUKS_TAG_TYPE_BYTES == 5 << 28, true);
157         ASSERT_EQ((uint32_t)OH_HUKS_USER_AUTH_TYPE_FINGERPRINT == 1 << 0, true);
158         ASSERT_EQ((uint32_t)OH_HUKS_USER_AUTH_TYPE_FACE == 1 << 1, true);
159         ASSERT_EQ((uint32_t)OH_HUKS_USER_AUTH_TYPE_PIN == 1 << 2, true);
160         ASSERT_EQ((uint32_t)OH_HUKS_AUTH_ACCESS_INVALID_CLEAR_PASSWORD == 1 << 0, true);
161         ASSERT_EQ((uint32_t)OH_HUKS_AUTH_ACCESS_INVALID_NEW_BIO_ENROLL == 1 << 1, true);
162         ASSERT_EQ((uint32_t)OH_HUKS_CHALLENGE_TYPE_NORMAL == 0, true);
163         ASSERT_EQ((uint32_t)OH_HUKS_CHALLENGE_TYPE_CUSTOM == 1, true);
164         ASSERT_EQ((uint32_t)OH_HUKS_CHALLENGE_TYPE_NONE == 2, true);
165         ASSERT_EQ((uint32_t)OH_HUKS_CHALLENGE_POS_0 == 0, true);
166         ASSERT_EQ((uint32_t)OH_HUKS_CHALLENGE_POS_1 == 1, true);
167         ASSERT_EQ((uint32_t)OH_HUKS_CHALLENGE_POS_2 == 2, true);
168         ASSERT_EQ((uint32_t)OH_HUKS_CHALLENGE_POS_3 == 3, true);
169         ASSERT_EQ((uint32_t)OH_HUKS_SECURE_SIGN_WITH_AUTHINFO == 1, true);
170         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ALGORITHM == (OH_HUKS_TAG_TYPE_UINT | 1), true);
171         ASSERT_EQ((uint32_t)OH_HUKS_TAG_PURPOSE == (OH_HUKS_TAG_TYPE_UINT | 2), true);
172         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_SIZE == (OH_HUKS_TAG_TYPE_UINT | 3), true);
173         ASSERT_EQ((uint32_t)OH_HUKS_TAG_DIGEST == (OH_HUKS_TAG_TYPE_UINT | 4), true);
174         ASSERT_EQ((uint32_t)OH_HUKS_TAG_PADDING == (OH_HUKS_TAG_TYPE_UINT | 5), true);
175         ASSERT_EQ((uint32_t)OH_HUKS_TAG_BLOCK_MODE == (OH_HUKS_TAG_TYPE_UINT | 6), true);
176         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_TYPE == (OH_HUKS_TAG_TYPE_UINT | 7), true);
177         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ASSOCIATED_DATA == (OH_HUKS_TAG_TYPE_BYTES | 8), true);
178         ASSERT_EQ((uint32_t)OH_HUKS_TAG_NONCE == (OH_HUKS_TAG_TYPE_BYTES | 9), true);
179         ASSERT_EQ((uint32_t)OH_HUKS_TAG_IV == (OH_HUKS_TAG_TYPE_BYTES | 10), true);
180         ASSERT_EQ((uint32_t)OH_HUKS_TAG_INFO == (OH_HUKS_TAG_TYPE_BYTES | 11), true);
181         ASSERT_EQ((uint32_t)OH_HUKS_TAG_SALT == (OH_HUKS_TAG_TYPE_BYTES | 12), true);
182         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ITERATION == (OH_HUKS_TAG_TYPE_UINT | 14), true);
183         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_GENERATE_TYPE == (OH_HUKS_TAG_TYPE_UINT | 15), true);
184         ASSERT_EQ((uint32_t)OH_HUKS_TAG_AGREE_ALG == (OH_HUKS_TAG_TYPE_UINT | 19), true);
185         ASSERT_EQ((uint32_t)OH_HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIAS == (OH_HUKS_TAG_TYPE_BOOL | 20), true);
186         ASSERT_EQ((uint32_t)OH_HUKS_TAG_AGREE_PRIVATE_KEY_ALIAS == (OH_HUKS_TAG_TYPE_BYTES | 21), true);
187         ASSERT_EQ((uint32_t)OH_HUKS_TAG_AGREE_PUBLIC_KEY == (OH_HUKS_TAG_TYPE_BYTES | 22), true);
188         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_ALIAS == (OH_HUKS_TAG_TYPE_BYTES | 23), true);
189         ASSERT_EQ((uint32_t)OH_HUKS_TAG_DERIVE_KEY_SIZE == (OH_HUKS_TAG_TYPE_UINT | 24), true);
190         ASSERT_EQ((uint32_t)OH_HUKS_TAG_IMPORT_KEY_TYPE == (OH_HUKS_TAG_TYPE_UINT | 25), true);
191         ASSERT_EQ((uint32_t)OH_HUKS_TAG_UNWRAP_ALGORITHM_SUITE == (OH_HUKS_TAG_TYPE_UINT | 26), true);
192         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ALL_USERS == (OH_HUKS_TAG_TYPE_BOOL | 301), true);
193         ASSERT_EQ((uint32_t)OH_HUKS_TAG_USER_ID == (OH_HUKS_TAG_TYPE_UINT | 302), true);
194         ASSERT_EQ((uint32_t)OH_HUKS_TAG_NO_AUTH_REQUIRED == (OH_HUKS_TAG_TYPE_BOOL | 303), true);
195         ASSERT_EQ((uint32_t)OH_HUKS_TAG_USER_AUTH_TYPE == (OH_HUKS_TAG_TYPE_UINT | 304), true);
196         ASSERT_EQ((uint32_t)OH_HUKS_TAG_AUTH_TIMEOUT == (OH_HUKS_TAG_TYPE_UINT | 305), true);
197         ASSERT_EQ((uint32_t)OH_HUKS_TAG_AUTH_TOKEN == (OH_HUKS_TAG_TYPE_BYTES | 306), true);
198         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_AUTH_ACCESS_TYPE == (OH_HUKS_TAG_TYPE_UINT | 307), true);
199         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_SECURE_SIGN_TYPE == (OH_HUKS_TAG_TYPE_UINT | 308), true);
200         ASSERT_EQ((uint32_t)OH_HUKS_TAG_CHALLENGE_TYPE == (OH_HUKS_TAG_TYPE_UINT | 309), true);
201         ASSERT_EQ((uint32_t)OH_HUKS_TAG_CHALLENGE_POS == (OH_HUKS_TAG_TYPE_UINT | 310), true);
202 
203         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ATTESTATION_CHALLENGE == (OH_HUKS_TAG_TYPE_BYTES | 501), true);
204         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ATTESTATION_APPLICATION_ID == (OH_HUKS_TAG_TYPE_BYTES | 502), true);
205         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ATTESTATION_ID_ALIAS == (OH_HUKS_TAG_TYPE_BYTES | 511), true);
206         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO == (OH_HUKS_TAG_TYPE_BYTES | 514), true);
207         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ATTESTATION_ID_VERSION_INFO == (OH_HUKS_TAG_TYPE_BYTES | 515), true);
208 
209         ASSERT_EQ((uint32_t)OH_HUKS_TAG_IS_KEY_ALIAS == (OH_HUKS_TAG_TYPE_BOOL | 1001), true);
210         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_STORAGE_FLAG == (OH_HUKS_TAG_TYPE_UINT | 1002), true);
211         ASSERT_EQ((uint32_t)OH_HUKS_TAG_IS_ALLOWED_WRAP == (OH_HUKS_TAG_TYPE_BOOL | 1003), true);
212         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_WRAP_TYPE == (OH_HUKS_TAG_TYPE_UINT | 1004), true);
213         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_AUTH_ID == (OH_HUKS_TAG_TYPE_BYTES | 1005), true);
214         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_ROLE == (OH_HUKS_TAG_TYPE_UINT | 1006), true);
215         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_FLAG == (OH_HUKS_TAG_TYPE_UINT | 1007), true);
216         ASSERT_EQ((uint32_t)OH_HUKS_TAG_IS_ASYNCHRONIZED == (OH_HUKS_TAG_TYPE_UINT | 1008), true);
217         ASSERT_EQ((uint32_t)OH_HUKS_TAG_KEY_DOMAIN == (OH_HUKS_TAG_TYPE_UINT | 1011), true);
218         ASSERT_EQ((uint32_t)OH_HUKS_TAG_SYMMETRIC_KEY_DATA == (OH_HUKS_TAG_TYPE_BYTES | 20001), true);
219         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATA == (OH_HUKS_TAG_TYPE_BYTES | 20002), true);
220         ASSERT_EQ((uint32_t)OH_HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATA == (OH_HUKS_TAG_TYPE_BYTES | 20003), true);
221 
222         struct OH_Huks_Result result;
223         ASSERT_EQ(sizeof(result.errorCode) == sizeof(int32_t), true);
224         ASSERT_EQ(sizeof(result.errorMsg) == sizeof(const char *), true);
225         ASSERT_EQ(sizeof(result.data) == sizeof(uint8_t *), true);
226 
227         struct OH_Huks_Blob blob;
228         ASSERT_EQ(sizeof(blob.size) == sizeof(uint32_t), true);
229         ASSERT_EQ(sizeof(blob.data) == sizeof(uint8_t *), true);
230 
231         struct OH_Huks_Param param;
232         ASSERT_EQ(sizeof(param.tag) == sizeof(uint32_t), true);
233         ASSERT_EQ(sizeof(param.boolParam) == sizeof(bool), true);
234         ASSERT_EQ(sizeof(param.int32Param) == sizeof(int32_t), true);
235         ASSERT_EQ(sizeof(param.uint32Param) == sizeof(uint32_t), true);
236         ASSERT_EQ(sizeof(param.uint64Param) == sizeof(uint64_t), true);
237         ASSERT_EQ(sizeof(param.blob) == sizeof(struct OH_Huks_Blob), true);
238 
239         struct OH_Huks_ParamSet paramset;
240         ASSERT_EQ(sizeof(paramset.paramSetSize) == sizeof(uint32_t), true);
241         ASSERT_EQ(sizeof(paramset.paramsCnt) == sizeof(uint32_t), true);
242         ASSERT_EQ(sizeof(paramset.params[0]) == sizeof(struct OH_Huks_Param), true);
243 
244         struct OH_Huks_CertChain certChain;
245         ASSERT_EQ(sizeof(certChain.certs) == sizeof(struct OH_Huks_Blob *), true);
246         ASSERT_EQ(sizeof(certChain.certsCount) == sizeof(uint32_t), true);
247 
248         struct OH_Huks_KeyInfo keyInfo;
249         ASSERT_EQ(sizeof(keyInfo.alias) == sizeof(struct OH_Huks_Blob), true);
250         ASSERT_EQ(sizeof(keyInfo.paramSet) == sizeof(struct OH_Huks_ParamSet *), true);
251 
252         struct OH_Huks_PubKeyInfo pubKeyInfo;
253         ASSERT_EQ(sizeof(pubKeyInfo.keyAlg) == sizeof(OH_Huks_KeyAlg), true);
254         ASSERT_EQ(sizeof(pubKeyInfo.keySize) == sizeof(uint32_t), true);
255         ASSERT_EQ(sizeof(pubKeyInfo.nOrXSize) == sizeof(uint32_t), true);
256         ASSERT_EQ(sizeof(pubKeyInfo.eOrYSize) == sizeof(uint32_t), true);
257         ASSERT_EQ(sizeof(pubKeyInfo.placeHolder) == sizeof(uint32_t), true);
258 
259         struct OH_Huks_KeyMaterialRsa keyMaterialRsa;
260         ASSERT_EQ(sizeof(keyMaterialRsa.keyAlg) == sizeof(OH_Huks_KeyAlg), true);
261         ASSERT_EQ(sizeof(keyMaterialRsa.keySize) == sizeof(uint32_t), true);
262         ASSERT_EQ(sizeof(keyMaterialRsa.nSize) == sizeof(uint32_t), true);
263         ASSERT_EQ(sizeof(keyMaterialRsa.eSize) == sizeof(uint32_t), true);
264         ASSERT_EQ(sizeof(keyMaterialRsa.dSize) == sizeof(uint32_t), true);
265 
266         struct OH_Huks_KeyMaterialEcc keyMaterialEcc;
267         ASSERT_EQ(sizeof(keyMaterialEcc.keyAlg) == sizeof(OH_Huks_KeyAlg), true);
268         ASSERT_EQ(sizeof(keyMaterialEcc.keySize) == sizeof(uint32_t), true);
269         ASSERT_EQ(sizeof(keyMaterialEcc.xSize) == sizeof(uint32_t), true);
270         ASSERT_EQ(sizeof(keyMaterialEcc.ySize) == sizeof(uint32_t), true);
271         ASSERT_EQ(sizeof(keyMaterialEcc.zSize) == sizeof(uint32_t), true);
272 
273         struct OH_Huks_KeyMaterialDsa keyMaterialDsa;
274         ASSERT_EQ(sizeof(keyMaterialDsa.keyAlg) == sizeof(OH_Huks_KeyAlg), true);
275         ASSERT_EQ(sizeof(keyMaterialDsa.keySize) == sizeof(uint32_t), true);
276         ASSERT_EQ(sizeof(keyMaterialDsa.xSize) == sizeof(uint32_t), true);
277         ASSERT_EQ(sizeof(keyMaterialDsa.ySize) == sizeof(uint32_t), true);
278         ASSERT_EQ(sizeof(keyMaterialDsa.pSize) == sizeof(uint32_t), true);
279         ASSERT_EQ(sizeof(keyMaterialDsa.qSize) == sizeof(uint32_t), true);
280         ASSERT_EQ(sizeof(keyMaterialDsa.gSize) == sizeof(uint32_t), true);
281 
282         struct OH_Huks_KeyMaterialDh keyMaterialDh;
283         ASSERT_EQ(sizeof(keyMaterialDh.keyAlg) == sizeof(OH_Huks_KeyAlg), true);
284         ASSERT_EQ(sizeof(keyMaterialDh.keySize) == sizeof(uint32_t), true);
285         ASSERT_EQ(sizeof(keyMaterialDh.pubKeySize) == sizeof(uint32_t), true);
286         ASSERT_EQ(sizeof(keyMaterialDh.priKeySize) == sizeof(uint32_t), true);
287         ASSERT_EQ(sizeof(keyMaterialDh.reserved) == sizeof(uint32_t), true);
288 
289         struct OH_Huks_KeyMaterial25519 keyMaterial25519;
290         ASSERT_EQ(sizeof(keyMaterial25519.keyAlg) == sizeof(OH_Huks_KeyAlg), true);
291         ASSERT_EQ(sizeof(keyMaterial25519.keySize) == sizeof(uint32_t), true);
292         ASSERT_EQ(sizeof(keyMaterial25519.pubKeySize) == sizeof(uint32_t), true);
293         ASSERT_EQ(sizeof(keyMaterial25519.priKeySize) == sizeof(uint32_t), true);
294         ASSERT_EQ(sizeof(keyMaterial25519.reserved) == sizeof(uint32_t), true);
295     }
296 }
297