• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022-2023 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 "openssl_adapter.h"
17 
18 #include "log.h"
19 #include "result.h"
20 
Openssl_BN_dup(const BIGNUM * a)21 BIGNUM *Openssl_BN_dup(const BIGNUM *a)
22 {
23     return BN_dup(a);
24 }
25 
Openssl_BN_clear(BIGNUM * a)26 void Openssl_BN_clear(BIGNUM *a)
27 {
28     BN_clear(a);
29 }
30 
Openssl_BN_clear_free(BIGNUM * a)31 void Openssl_BN_clear_free(BIGNUM *a)
32 {
33     if (a != NULL) {
34         BN_clear_free(a);
35     }
36 }
37 
Openssl_BN_new(void)38 BIGNUM *Openssl_BN_new(void)
39 {
40     return BN_new();
41 }
42 
Openssl_BN_free(BIGNUM * a)43 void Openssl_BN_free(BIGNUM *a)
44 {
45     if (a != NULL) {
46         BN_free(a);
47     }
48 }
49 
Openssl_BN_bin2bn(const unsigned char * s,int len,BIGNUM * ret)50 BIGNUM *Openssl_BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret)
51 {
52     return BN_bin2bn(s, len, ret);
53 }
54 
Openssl_BN_lebin2bn(const unsigned char * s,int len,BIGNUM * ret)55 BIGNUM *Openssl_BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret)
56 {
57     return BN_lebin2bn(s, len, ret);
58 }
59 
Openssl_BN_bn2binpad(const BIGNUM * a,unsigned char * to,int toLen)60 int Openssl_BN_bn2binpad(const BIGNUM *a, unsigned char *to, int toLen)
61 {
62     return BN_bn2binpad(a, to, toLen);
63 }
64 
Openssl_BN_bn2lebinpad(const BIGNUM * a,unsigned char * to,int toLen)65 int Openssl_BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int toLen)
66 {
67     return BN_bn2lebinpad(a, to, toLen);
68 }
69 
Openssl_BN_CTX_new(void)70 BN_CTX *Openssl_BN_CTX_new(void)
71 {
72     return BN_CTX_new();
73 }
74 
Openssl_BN_CTX_free(BN_CTX * ctx)75 void Openssl_BN_CTX_free(BN_CTX *ctx)
76 {
77     if (ctx != NULL) {
78         BN_CTX_free(ctx);
79     }
80 }
81 
Openssl_BN_num_bytes(const BIGNUM * a)82 int Openssl_BN_num_bytes(const BIGNUM *a)
83 {
84     return BN_num_bytes(a);
85 }
86 
Openssl_BN_set_word(BIGNUM * a,unsigned int w)87 int Openssl_BN_set_word(BIGNUM *a, unsigned int w)
88 {
89     return BN_set_word(a, w);
90 }
91 
Openssl_BN_get_word(const BIGNUM * a)92 unsigned int Openssl_BN_get_word(const BIGNUM *a)
93 {
94     return BN_get_word(a);
95 }
96 
Openssl_BN_num_bits(const BIGNUM * a)97 int Openssl_BN_num_bits(const BIGNUM *a)
98 {
99     return BN_num_bits(a);
100 }
101 
Openssl_BN_hex2bn(BIGNUM ** a,const char * str)102 int Openssl_BN_hex2bn(BIGNUM **a, const char *str)
103 {
104     return BN_hex2bn(a, str);
105 }
106 
Openssl_BN_cmp(const BIGNUM * a,const BIGNUM * b)107 int Openssl_BN_cmp(const BIGNUM *a, const BIGNUM *b)
108 {
109     return BN_cmp(a, b);
110 }
111 
Openssl_EC_KEY_new_by_curve_name(int nid)112 EC_KEY *Openssl_EC_KEY_new_by_curve_name(int nid)
113 {
114     return EC_KEY_new_by_curve_name(nid);
115 }
116 
Openssl_EC_POINT_dup(const EC_POINT * src,const EC_GROUP * group)117 EC_POINT *Openssl_EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group)
118 {
119     return EC_POINT_dup(src, group);
120 }
121 
Openssl_EC_KEY_generate_key(EC_KEY * ecKey)122 int Openssl_EC_KEY_generate_key(EC_KEY *ecKey)
123 {
124     return EC_KEY_generate_key(ecKey);
125 }
126 
Openssl_EC_KEY_set_public_key(EC_KEY * key,const EC_POINT * pub)127 int Openssl_EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub)
128 {
129     return EC_KEY_set_public_key(key, pub);
130 }
131 
Openssl_EC_KEY_set_private_key(EC_KEY * key,const BIGNUM * priv_key)132 int Openssl_EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *priv_key)
133 {
134     return EC_KEY_set_private_key(key, priv_key);
135 }
136 
Openssl_EC_KEY_check_key(const EC_KEY * key)137 int Openssl_EC_KEY_check_key(const EC_KEY *key)
138 {
139     return EC_KEY_check_key(key);
140 }
141 
Openssl_EC_KEY_get0_public_key(const EC_KEY * key)142 const EC_POINT *Openssl_EC_KEY_get0_public_key(const EC_KEY *key)
143 {
144     return EC_KEY_get0_public_key(key);
145 }
146 
Openssl_EC_KEY_get0_private_key(const EC_KEY * key)147 const BIGNUM *Openssl_EC_KEY_get0_private_key(const EC_KEY *key)
148 {
149     return EC_KEY_get0_private_key(key);
150 }
151 
Openssl_EC_KEY_get0_group(const EC_KEY * key)152 const EC_GROUP *Openssl_EC_KEY_get0_group(const EC_KEY *key)
153 {
154     return EC_KEY_get0_group(key);
155 }
156 
Openssl_i2d_EC_PUBKEY(EC_KEY * a,unsigned char ** pp)157 int Openssl_i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp)
158 {
159     return i2d_EC_PUBKEY(a, pp);
160 }
161 
Openssl_i2d_ECPrivateKey(EC_KEY * key,unsigned char ** out)162 int Openssl_i2d_ECPrivateKey(EC_KEY *key, unsigned char **out)
163 {
164     return i2d_ECPrivateKey(key, out);
165 }
166 
Openssl_d2i_EC_PUBKEY(EC_KEY ** a,const unsigned char ** pp,long length)167 EC_KEY *Openssl_d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length)
168 {
169     return d2i_EC_PUBKEY(a, pp, length);
170 }
171 
Openssl_d2i_ECPrivateKey(EC_KEY ** key,const unsigned char ** in,long len)172 EC_KEY *Openssl_d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len)
173 {
174     return d2i_ECPrivateKey(key, in, len);
175 }
176 
Openssl_EC_KEY_set_asn1_flag(EC_KEY * key,int flag)177 void Openssl_EC_KEY_set_asn1_flag(EC_KEY *key, int flag)
178 {
179     EC_KEY_set_asn1_flag(key, flag);
180 }
181 
Openssl_EC_KEY_set_enc_flags(EC_KEY * ecKey,unsigned int flags)182 void Openssl_EC_KEY_set_enc_flags(EC_KEY *ecKey, unsigned int flags)
183 {
184     EC_KEY_set_enc_flags(ecKey, flags);
185 }
186 
Openssl_EC_KEY_free(EC_KEY * key)187 void Openssl_EC_KEY_free(EC_KEY *key)
188 {
189     if (key != NULL) {
190         EC_KEY_free(key);
191     }
192 }
193 
Openssl_EC_POINT_free(EC_POINT * point)194 void Openssl_EC_POINT_free(EC_POINT *point)
195 {
196     if (point != NULL) {
197         EC_POINT_free(point);
198     }
199 }
200 
Openssl_EC_GROUP_new_curve_GFp(const BIGNUM * p,const BIGNUM * a,const BIGNUM * b,BN_CTX * ctx)201 EC_GROUP *Openssl_EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
202 {
203     return EC_GROUP_new_curve_GFp(p, a, b, ctx);
204 }
205 
Openssl_EC_GROUP_free(EC_GROUP * group)206 void Openssl_EC_GROUP_free(EC_GROUP *group)
207 {
208     if (group != NULL) {
209         EC_GROUP_free(group);
210     }
211 }
212 
Openssl_EC_POINT_new(const EC_GROUP * group)213 EC_POINT *Openssl_EC_POINT_new(const EC_GROUP *group)
214 {
215     return EC_POINT_new(group);
216 }
217 
Openssl_EC_POINT_copy(EC_POINT * dst,const EC_POINT * src)218 int Openssl_EC_POINT_copy(EC_POINT *dst, const EC_POINT *src)
219 {
220     return EC_POINT_copy(dst, src);
221 }
222 
Openssl_EC_POINT_set_affine_coordinates_GFp(const EC_GROUP * group,EC_POINT * point,const BIGNUM * x,const BIGNUM * y,BN_CTX * ctx)223 int Openssl_EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x,
224     const BIGNUM *y, BN_CTX *ctx)
225 {
226     return EC_POINT_set_affine_coordinates_GFp(group, point, x, y, ctx);
227 }
228 
Openssl_EC_GROUP_set_generator(EC_GROUP * group,const EC_POINT * generator,const BIGNUM * order,const BIGNUM * cofactor)229 int Openssl_EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order,
230     const BIGNUM *cofactor)
231 {
232     return EC_GROUP_set_generator(group, generator, order, cofactor);
233 }
234 
Openssl_EC_KEY_new(void)235 EC_KEY *Openssl_EC_KEY_new(void)
236 {
237     return EC_KEY_new();
238 }
239 
Openssl_EC_KEY_dup(const EC_KEY * ecKey)240 EC_KEY *Openssl_EC_KEY_dup(const EC_KEY *ecKey)
241 {
242     return EC_KEY_dup(ecKey);
243 }
244 
Openssl_EC_KEY_set_group(EC_KEY * key,const EC_GROUP * group)245 int Openssl_EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group)
246 {
247     return EC_KEY_set_group(key, group);
248 }
249 
Openssl_EC_GROUP_get_curve_GFp(const EC_GROUP * group,BIGNUM * p,BIGNUM * a,BIGNUM * b,BN_CTX * ctx)250 int Openssl_EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
251 {
252     return EC_GROUP_get_curve_GFp(group, p, a, b, ctx);
253 }
254 
Openssl_EC_GROUP_get0_generator(const EC_GROUP * group)255 const EC_POINT *Openssl_EC_GROUP_get0_generator(const EC_GROUP *group)
256 {
257     return EC_GROUP_get0_generator(group);
258 }
259 
Openssl_EC_POINT_get_affine_coordinates_GFp(const EC_GROUP * group,const EC_POINT * point,BIGNUM * x,BIGNUM * y,BN_CTX * ctx)260 int Openssl_EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point, BIGNUM *x,
261     BIGNUM *y, BN_CTX *ctx)
262 {
263     return EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx);
264 }
265 
Openssl_EC_GROUP_get_order(const EC_GROUP * group,BIGNUM * order,BN_CTX * ctx)266 int Openssl_EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
267 {
268     return EC_GROUP_get_order(group, order, ctx);
269 }
270 
Openssl_EC_GROUP_get_cofactor(const EC_GROUP * group,BIGNUM * cofactor,BN_CTX * ctx)271 int Openssl_EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx)
272 {
273     return EC_GROUP_get_cofactor(group, cofactor, ctx);
274 }
275 
Openssl_EC_GROUP_get_degree(const EC_GROUP * group)276 int Openssl_EC_GROUP_get_degree(const EC_GROUP *group)
277 {
278     return EC_GROUP_get_degree(group);
279 }
280 
Openssl_EC_GROUP_dup(const EC_GROUP * a)281 EC_GROUP *Openssl_EC_GROUP_dup(const EC_GROUP *a)
282 {
283     return EC_GROUP_dup(a);
284 }
285 
Openssl_EC_GROUP_set_curve_name(EC_GROUP * group,int nid)286 void Openssl_EC_GROUP_set_curve_name(EC_GROUP *group, int nid)
287 {
288     EC_GROUP_set_curve_name(group, nid);
289 }
290 
Openssl_EC_GROUP_get_curve_name(const EC_GROUP * group)291 int Openssl_EC_GROUP_get_curve_name(const EC_GROUP *group)
292 {
293     return EC_GROUP_get_curve_name(group);
294 }
295 
Openssl_EC_POINT_mul(const EC_GROUP * group,EC_POINT * r,const BIGNUM * g_scalar,const EC_POINT * point,const BIGNUM * p_scalar,BN_CTX * ctx)296 int Openssl_EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar, const EC_POINT *point,
297     const BIGNUM *p_scalar, BN_CTX *ctx)
298 {
299     return EC_POINT_mul(group, r, g_scalar, point, p_scalar, ctx);
300 }
301 
Openssl_EVP_MD_CTX_new(void)302 EVP_MD_CTX *Openssl_EVP_MD_CTX_new(void)
303 {
304     return EVP_MD_CTX_new();
305 }
306 
Openssl_EVP_MD_CTX_free(EVP_MD_CTX * ctx)307 void Openssl_EVP_MD_CTX_free(EVP_MD_CTX *ctx)
308 {
309     if (ctx != NULL) {
310         EVP_MD_CTX_free(ctx);
311     }
312 }
313 
Openssl_EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX * ctx,EVP_PKEY_CTX * pctx)314 void Openssl_EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx)
315 {
316     EVP_MD_CTX_set_pkey_ctx(ctx, pctx);
317 }
318 
Openssl_EVP_MD_CTX_get_pkey_ctx(EVP_MD_CTX * ctx)319 EVP_PKEY_CTX *Openssl_EVP_MD_CTX_get_pkey_ctx(EVP_MD_CTX *ctx)
320 {
321     return EVP_MD_CTX_get_pkey_ctx(ctx);
322 }
323 
Openssl_EVP_DigestSignInit(EVP_MD_CTX * ctx,EVP_PKEY_CTX ** pctx,const EVP_MD * type,ENGINE * e,EVP_PKEY * pkey)324 int Openssl_EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey)
325 {
326     return EVP_DigestSignInit(ctx, pctx, type, e, pkey);
327 }
328 
Openssl_EVP_DigestSignUpdate(EVP_MD_CTX * ctx,const void * data,size_t count)329 int Openssl_EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t count)
330 {
331     return EVP_DigestSignUpdate(ctx, data, count);
332 }
333 
Openssl_EVP_DigestSignFinal(EVP_MD_CTX * ctx,unsigned char * sigret,size_t * siglen)334 int Openssl_EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen)
335 {
336     return EVP_DigestSignFinal(ctx, sigret, siglen);
337 }
338 
Openssl_EVP_DigestSign(EVP_MD_CTX * ctx,unsigned char * sig,size_t * siglen,const unsigned char * tbs,size_t tbslen)339 int Openssl_EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)
340 {
341     return EVP_DigestSign(ctx, sig, siglen, tbs, tbslen);
342 }
343 
Openssl_EVP_DigestVerifyInit(EVP_MD_CTX * ctx,EVP_PKEY_CTX ** pctx,const EVP_MD * type,ENGINE * e,EVP_PKEY * pkey)344 int Openssl_EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey)
345 {
346     return EVP_DigestVerifyInit(ctx, pctx, type, e, pkey);
347 }
348 
Openssl_EVP_DigestVerifyUpdate(EVP_MD_CTX * ctx,const void * data,size_t count)349 int Openssl_EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t count)
350 {
351     return EVP_DigestVerifyUpdate(ctx, data, count);
352 }
353 
Openssl_EVP_DigestVerifyFinal(EVP_MD_CTX * ctx,const unsigned char * sig,size_t siglen)354 int Openssl_EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen)
355 {
356     return EVP_DigestVerifyFinal(ctx, sig, siglen);
357 }
358 
Openssl_EVP_DigestVerify(EVP_MD_CTX * ctx,unsigned char * sig,size_t siglen,const unsigned char * tbs,size_t tbslen)359 int Openssl_EVP_DigestVerify(EVP_MD_CTX *ctx, unsigned char *sig, size_t siglen,
360     const unsigned char *tbs, size_t tbslen)
361 {
362     return EVP_DigestVerify(ctx, sig, siglen, tbs, tbslen);
363 }
364 
Openssl_EVP_PKEY_sign_init(EVP_PKEY_CTX * ctx)365 int Openssl_EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx)
366 {
367     return EVP_PKEY_sign_init(ctx);
368 }
369 
Openssl_EVP_PKEY_sign(EVP_PKEY_CTX * ctx,unsigned char * sig,size_t * siglen,const unsigned char * tbs,size_t tbslen)370 int Openssl_EVP_PKEY_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs,
371     size_t tbslen)
372 {
373     return EVP_PKEY_sign(ctx, sig, siglen, tbs, tbslen);
374 }
375 
Openssl_EVP_PKEY_verify_init(EVP_PKEY_CTX * ctx)376 int Openssl_EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx)
377 {
378     return EVP_PKEY_verify_init(ctx);
379 }
380 
Openssl_EVP_PKEY_verify(EVP_PKEY_CTX * ctx,const unsigned char * sig,size_t siglen,const unsigned char * tbs,size_t tbslen)381 int Openssl_EVP_PKEY_verify(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, const unsigned char *tbs,
382     size_t tbslen)
383 {
384     return EVP_PKEY_verify(ctx, sig, siglen, tbs, tbslen);
385 }
386 
Openssl_EVP_PKEY_CTX_new_from_pkey(OSSL_LIB_CTX * libctx,EVP_PKEY * pkey,const char * propquery)387 EVP_PKEY_CTX *Openssl_EVP_PKEY_CTX_new_from_pkey(OSSL_LIB_CTX *libctx,
388     EVP_PKEY *pkey, const char *propquery)
389 {
390     return EVP_PKEY_CTX_new_from_pkey(libctx, pkey, propquery);
391 }
392 
Openssl_EVP_PKEY_new(void)393 EVP_PKEY *Openssl_EVP_PKEY_new(void)
394 {
395     return EVP_PKEY_new();
396 }
397 
Openssl_EVP_PKEY_new_raw_public_key(int type,ENGINE * e,const unsigned char * pub,size_t len)398 EVP_PKEY *Openssl_EVP_PKEY_new_raw_public_key(int type, ENGINE *e, const unsigned char *pub, size_t len)
399 {
400     return EVP_PKEY_new_raw_public_key(type, e, pub, len);
401 }
402 
Openssl_EVP_PKEY_new_raw_private_key(int type,ENGINE * e,const unsigned char * pub,size_t len)403 EVP_PKEY *Openssl_EVP_PKEY_new_raw_private_key(int type, ENGINE *e, const unsigned char *pub, size_t len)
404 {
405     return EVP_PKEY_new_raw_private_key(type, e, pub, len);
406 }
407 
Openssl_EVP_PKEY_get_raw_public_key(const EVP_PKEY * pkey,unsigned char * pub,size_t * len)408 int Openssl_EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char *pub, size_t *len)
409 {
410     return EVP_PKEY_get_raw_public_key(pkey, pub, len);
411 }
412 
Openssl_EVP_PKEY_get_raw_private_key(const EVP_PKEY * pkey,unsigned char * priv,size_t * len)413 int Openssl_EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char *priv, size_t *len)
414 {
415     return EVP_PKEY_get_raw_private_key(pkey, priv, len);
416 }
417 
Openssl_EVP_PKEY_assign_EC_KEY(EVP_PKEY * pkey,EC_KEY * key)418 int Openssl_EVP_PKEY_assign_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
419 {
420     return EVP_PKEY_assign_EC_KEY(pkey, key);
421 }
422 
Openssl_EVP_PKEY_free(EVP_PKEY * pkey)423 void Openssl_EVP_PKEY_free(EVP_PKEY *pkey)
424 {
425     if (pkey != NULL) {
426         EVP_PKEY_free(pkey);
427     }
428 }
429 
Openssl_EVP_PKEY_CTX_new(EVP_PKEY * pkey,ENGINE * e)430 EVP_PKEY_CTX *Openssl_EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e)
431 {
432     return EVP_PKEY_CTX_new(pkey, e);
433 }
434 
Openssl_EVP_PKEY_derive_init(EVP_PKEY_CTX * ctx)435 int Openssl_EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx)
436 {
437     return EVP_PKEY_derive_init(ctx);
438 }
439 
Openssl_EVP_PKEY_derive_set_peer(EVP_PKEY_CTX * ctx,EVP_PKEY * peer)440 int Openssl_EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer)
441 {
442     return EVP_PKEY_derive_set_peer(ctx, peer);
443 }
444 
Openssl_EVP_PKEY_derive(EVP_PKEY_CTX * ctx,unsigned char * key,size_t * keylen)445 int Openssl_EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)
446 {
447     return EVP_PKEY_derive(ctx, key, keylen);
448 }
449 
Openssl_EVP_PKEY_CTX_free(EVP_PKEY_CTX * ctx)450 void Openssl_EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx)
451 {
452     if (ctx != NULL) {
453         EVP_PKEY_CTX_free(ctx);
454     }
455 }
456 
Openssl_EVP_PKEY_encrypt(EVP_PKEY_CTX * ctx,unsigned char * out,size_t * outlen,const unsigned char * in,size_t inlen)457 int Openssl_EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
458     const unsigned char *in, size_t inlen)
459 {
460     return EVP_PKEY_encrypt(ctx, out, outlen, in, inlen);
461 }
462 
Openssl_EVP_PKEY_decrypt(EVP_PKEY_CTX * ctx,unsigned char * out,size_t * outlen,const unsigned char * in,size_t inlen)463 int Openssl_EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
464     const unsigned char *in, size_t inlen)
465 {
466     return EVP_PKEY_decrypt(ctx, out, outlen, in, inlen);
467 }
468 
Openssl_EVP_PKEY_encrypt_init(EVP_PKEY_CTX * ctx)469 int Openssl_EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx)
470 {
471     return EVP_PKEY_encrypt_init(ctx);
472 }
473 
Openssl_EVP_PKEY_decrypt_init(EVP_PKEY_CTX * ctx)474 int Openssl_EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx)
475 {
476     return EVP_PKEY_decrypt_init(ctx);
477 }
478 
Openssl_EVP_PKEY_CTX_new_id(int id,ENGINE * e)479 EVP_PKEY_CTX *Openssl_EVP_PKEY_CTX_new_id(int id, ENGINE *e)
480 {
481     return EVP_PKEY_CTX_new_id(id, e);
482 }
483 
Openssl_EVP_PKEY_base_id(EVP_PKEY * pkey)484 int Openssl_EVP_PKEY_base_id(EVP_PKEY *pkey)
485 {
486     return EVP_PKEY_base_id(pkey);
487 }
488 
Openssl_EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX * libctx,const char * name,const char * propquery)489 EVP_PKEY_CTX *Openssl_EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX *libctx, const char *name, const char *propquery)
490 {
491     return EVP_PKEY_CTX_new_from_name(libctx, name, propquery);
492 }
493 
Openssl_OSSL_PARAM_construct_utf8_string(const char * key,char * buf,size_t bsize)494 OSSL_PARAM Openssl_OSSL_PARAM_construct_utf8_string(const char *key, char *buf, size_t bsize)
495 {
496     return OSSL_PARAM_construct_utf8_string(key, buf, bsize);
497 }
498 
Openssl_OSSL_PARAM_construct_end(void)499 OSSL_PARAM Openssl_OSSL_PARAM_construct_end(void)
500 {
501     return OSSL_PARAM_construct_end();
502 }
503 
Openssl_EVP_PKEY_generate(EVP_PKEY_CTX * ctx,EVP_PKEY ** ppkey)504 int Openssl_EVP_PKEY_generate(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
505 {
506     return EVP_PKEY_generate(ctx, ppkey);
507 }
508 
Openssl_OSSL_PARAM_construct_uint(const char * key,unsigned int * buf)509 OSSL_PARAM Openssl_OSSL_PARAM_construct_uint(const char *key, unsigned int *buf)
510 {
511     return OSSL_PARAM_construct_uint(key, buf);
512 }
513 
Openssl_OSSL_PARAM_construct_int(const char * key,int * buf)514 OSSL_PARAM Openssl_OSSL_PARAM_construct_int(const char *key, int *buf)
515 {
516     return OSSL_PARAM_construct_int(key, buf);
517 }
518 
Openssl_EVP_PKEY_CTX_set1_id(EVP_PKEY_CTX * ctx,const void * id,int id_len)519 int Openssl_EVP_PKEY_CTX_set1_id(EVP_PKEY_CTX *ctx, const void *id, int id_len)
520 {
521     return EVP_PKEY_CTX_set1_id(ctx, id, id_len);
522 }
523 
Openssl_EVP_PKEY_paramgen_init(EVP_PKEY_CTX * ctx)524 int Openssl_EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx)
525 {
526     return EVP_PKEY_paramgen_init(ctx);
527 }
528 
Openssl_EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX * ctx,int nbits)529 int Openssl_EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits)
530 {
531     return EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits);
532 }
533 
Openssl_EVP_PKEY_CTX_set_params(EVP_PKEY_CTX * ctx,const OSSL_PARAM * params)534 int Openssl_EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, const OSSL_PARAM *params)
535 {
536     return EVP_PKEY_CTX_set_params(ctx, params);
537 }
538 
Openssl_EVP_PKEY_paramgen(EVP_PKEY_CTX * ctx,EVP_PKEY ** ppkey)539 int Openssl_EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
540 {
541     return EVP_PKEY_paramgen(ctx, ppkey);
542 }
543 
Openssl_EVP_PKEY_keygen_init(EVP_PKEY_CTX * ctx)544 int Openssl_EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx)
545 {
546     return EVP_PKEY_keygen_init(ctx);
547 }
548 
Openssl_EVP_PKEY_keygen(EVP_PKEY_CTX * ctx,EVP_PKEY ** ppkey)549 int Openssl_EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
550 {
551     return EVP_PKEY_keygen(ctx, ppkey);
552 }
553 
Openssl_EVP_PKEY_set1_DSA(EVP_PKEY * pkey,DSA * key)554 int Openssl_EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
555 {
556     return EVP_PKEY_set1_DSA(pkey, key);
557 }
558 
Openssl_EVP_PKEY_get1_DSA(EVP_PKEY * pkey)559 DSA *Openssl_EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
560 {
561     return EVP_PKEY_get1_DSA(pkey);
562 }
563 
Openssl_DSA_new(void)564 DSA *Openssl_DSA_new(void)
565 {
566     return DSA_new();
567 }
568 
Openssl_DSA_free(DSA * dsa)569 void Openssl_DSA_free(DSA *dsa)
570 {
571     if (dsa != NULL) {
572         DSA_free(dsa);
573     }
574 }
575 
Openssl_DSA_up_ref(DSA * dsa)576 int Openssl_DSA_up_ref(DSA *dsa)
577 {
578     return DSA_up_ref(dsa);
579 }
580 
Openssl_DSA_set0_pqg(DSA * dsa,BIGNUM * p,BIGNUM * q,BIGNUM * g)581 int Openssl_DSA_set0_pqg(DSA *dsa, BIGNUM *p, BIGNUM *q, BIGNUM *g)
582 {
583     return DSA_set0_pqg(dsa, p, q, g);
584 }
585 
Openssl_DSA_set0_key(DSA * dsa,BIGNUM * pub_key,BIGNUM * pri_key)586 int Openssl_DSA_set0_key(DSA *dsa, BIGNUM *pub_key, BIGNUM *pri_key)
587 {
588     return DSA_set0_key(dsa, pub_key, pri_key);
589 }
590 
Openssl_DSA_get0_p(const DSA * dsa)591 const BIGNUM *Openssl_DSA_get0_p(const DSA *dsa)
592 {
593     return DSA_get0_p(dsa);
594 }
595 
Openssl_DSA_get0_q(const DSA * dsa)596 const BIGNUM *Openssl_DSA_get0_q(const DSA *dsa)
597 {
598     return DSA_get0_q(dsa);
599 }
600 
Openssl_DSA_get0_g(const DSA * dsa)601 const BIGNUM *Openssl_DSA_get0_g(const DSA *dsa)
602 {
603     return DSA_get0_g(dsa);
604 }
605 
Openssl_DSA_get0_pub_key(const DSA * dsa)606 const BIGNUM *Openssl_DSA_get0_pub_key(const DSA *dsa)
607 {
608     return DSA_get0_pub_key(dsa);
609 }
610 
Openssl_DSA_get0_priv_key(const DSA * dsa)611 const BIGNUM *Openssl_DSA_get0_priv_key(const DSA *dsa)
612 {
613     return DSA_get0_priv_key(dsa);
614 }
615 
Openssl_DSA_generate_key(DSA * a)616 int Openssl_DSA_generate_key(DSA *a)
617 {
618     return DSA_generate_key(a);
619 }
620 
Openssl_d2i_DSA_PUBKEY(DSA ** dsa,const unsigned char ** ppin,long length)621 DSA *Openssl_d2i_DSA_PUBKEY(DSA **dsa, const unsigned char **ppin, long length)
622 {
623     return d2i_DSA_PUBKEY(dsa, ppin, length);
624 }
625 
Openssl_d2i_DSAPrivateKey(DSA ** dsa,const unsigned char ** ppin,long length)626 DSA *Openssl_d2i_DSAPrivateKey(DSA **dsa, const unsigned char **ppin, long length)
627 {
628     return d2i_DSAPrivateKey(dsa, ppin, length);
629 }
630 
Openssl_i2d_DSA_PUBKEY(DSA * dsa,unsigned char ** ppout)631 int Openssl_i2d_DSA_PUBKEY(DSA *dsa, unsigned char **ppout)
632 {
633     return i2d_DSA_PUBKEY(dsa, ppout);
634 }
635 
Openssl_i2d_DSAPrivateKey(DSA * dsa,unsigned char ** ppout)636 int Openssl_i2d_DSAPrivateKey(DSA *dsa, unsigned char **ppout)
637 {
638     return i2d_DSAPrivateKey(dsa, ppout);
639 }
640 
Openssl_EVP_PKEY_check(EVP_PKEY_CTX * ctx)641 int Openssl_EVP_PKEY_check(EVP_PKEY_CTX *ctx)
642 {
643     return EVP_PKEY_check(ctx);
644 }
645 
Openssl_EVP_PKEY_dup(EVP_PKEY * a)646 EVP_PKEY *Openssl_EVP_PKEY_dup(EVP_PKEY *a)
647 {
648     return EVP_PKEY_dup(a);
649 }
650 
Openssl_d2i_PUBKEY(EVP_PKEY ** a,const unsigned char ** pp,long length)651 EVP_PKEY *Openssl_d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length)
652 {
653     return d2i_PUBKEY(a, pp, length);
654 }
655 
Openssl_d2i_PrivateKey(int type,EVP_PKEY ** a,const unsigned char ** pp,long length)656 EVP_PKEY *Openssl_d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
657 {
658     return d2i_PrivateKey(type, a, pp, length);
659 }
660 
Openssl_i2d_PUBKEY(EVP_PKEY * pkey,unsigned char ** ppout)661 int Openssl_i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **ppout)
662 {
663     return i2d_PUBKEY(pkey, ppout);
664 }
665 
Openssl_i2d_PrivateKey(EVP_PKEY * pkey,unsigned char ** ppout)666 int Openssl_i2d_PrivateKey(EVP_PKEY *pkey, unsigned char **ppout)
667 {
668     return i2d_PrivateKey(pkey, ppout);
669 }
670 
Openssl_RSA_new(void)671 RSA *Openssl_RSA_new(void)
672 {
673     return RSA_new();
674 }
675 
Openssl_RSA_free(RSA * rsa)676 void Openssl_RSA_free(RSA *rsa)
677 {
678     if (rsa != NULL) {
679         RSA_free(rsa);
680     }
681 }
682 
Openssl_RSA_generate_multi_prime_key(RSA * rsa,int bits,int primes,BIGNUM * e,BN_GENCB * cb)683 int Openssl_RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes,
684     BIGNUM *e, BN_GENCB *cb)
685 {
686     return RSA_generate_multi_prime_key(rsa, bits, primes, e, cb);
687 }
688 
Openssl_RSA_generate_key_ex(RSA * rsa,int bits,BIGNUM * e,BN_GENCB * cb)689 int Openssl_RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
690 {
691     return RSA_generate_key_ex(rsa, bits, e, cb);
692 }
693 
Openssl_RSA_bits(const RSA * rsa)694 int Openssl_RSA_bits(const RSA *rsa)
695 {
696     return RSA_bits(rsa);
697 }
698 
Openssl_RSA_set0_key(RSA * r,BIGNUM * n,BIGNUM * e,BIGNUM * d)699 int Openssl_RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
700 {
701     return RSA_set0_key(r, n, e, d);
702 }
703 
Openssl_RSA_get0_key(const RSA * r,const BIGNUM ** n,const BIGNUM ** e,const BIGNUM ** d)704 void Openssl_RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
705 {
706     RSA_get0_key(r, n, e, d);
707 }
708 
Openssl_RSA_get0_n(const RSA * d)709 const BIGNUM *Openssl_RSA_get0_n(const RSA *d)
710 {
711     return RSA_get0_n(d);
712 }
713 
Openssl_RSA_get0_e(const RSA * d)714 const BIGNUM *Openssl_RSA_get0_e(const RSA *d)
715 {
716     return RSA_get0_e(d);
717 }
718 
Openssl_RSA_get0_d(const RSA * d)719 const BIGNUM *Openssl_RSA_get0_d(const RSA *d)
720 {
721     return RSA_get0_d(d);
722 }
723 
Openssl_RSA_get0_factors(const RSA * r,const BIGNUM ** p,const BIGNUM ** q)724 void Openssl_RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)
725 {
726     RSA_get0_factors(r, p, q);
727 }
728 
Openssl_RSAPublicKey_dup(RSA * rsa)729 RSA *Openssl_RSAPublicKey_dup(RSA *rsa)
730 {
731     return RSAPublicKey_dup(rsa);
732 }
733 
Openssl_RSAPrivateKey_dup(RSA * rsa)734 RSA *Openssl_RSAPrivateKey_dup(RSA *rsa)
735 {
736     return RSAPrivateKey_dup(rsa);
737 }
738 
Openssl_d2i_RSA_PUBKEY(RSA ** a,const unsigned char ** pp,long length)739 RSA *Openssl_d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length)
740 {
741     return d2i_RSA_PUBKEY(a, pp, length);
742 }
743 
Openssl_i2d_RSA_PUBKEY(RSA * a,unsigned char ** pp)744 int Openssl_i2d_RSA_PUBKEY(RSA *a, unsigned char **pp)
745 {
746     return i2d_RSA_PUBKEY(a, pp);
747 }
748 
Openssl_EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX * ctx,int saltlen)749 int Openssl_EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen)
750 {
751     return EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, saltlen);
752 }
753 
Openssl_EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX * ctx,int * saltlen)754 int Openssl_EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen)
755 {
756     return EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, saltlen);
757 }
758 
Openssl_EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX * ctx,int pad)759 int Openssl_EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int pad)
760 {
761     return EVP_PKEY_CTX_set_rsa_padding(ctx, pad);
762 }
763 
Openssl_EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX * ctx,const EVP_MD * md)764 int Openssl_EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
765 {
766     return EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md);
767 }
768 
Openssl_EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX * ctx,const EVP_MD * md)769 int Openssl_EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
770 {
771     return EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md);
772 }
773 
Openssl_EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX * ctx,void * label,int len)774 int Openssl_EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, void *label, int len)
775 {
776     return EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, label, len);
777 }
778 
Openssl_EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX * ctx,unsigned char ** label)779 int Openssl_EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label)
780 {
781     return EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, label);
782 }
783 
Openssl_d2i_AutoPrivateKey(EVP_PKEY ** a,const unsigned char ** pp,long length)784 EVP_PKEY *Openssl_d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length)
785 {
786     return d2i_AutoPrivateKey(a, pp, length);
787 }
788 
Openssl_EVP_PKEY_get1_RSA(EVP_PKEY * pkey)789 struct rsa_st *Openssl_EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
790 {
791     return EVP_PKEY_get1_RSA(pkey);
792 }
793 
Openssl_EVP_PKEY_set1_RSA(EVP_PKEY * pkey,struct rsa_st * key)794 int Openssl_EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key)
795 {
796     return EVP_PKEY_set1_RSA(pkey, key);
797 }
798 
Openssl_EVP_PKEY_assign_RSA(EVP_PKEY * pkey,struct rsa_st * key)799 int Openssl_EVP_PKEY_assign_RSA(EVP_PKEY *pkey, struct rsa_st *key)
800 {
801     return EVP_PKEY_assign_RSA(pkey, key);
802 }
803 
Openssl_i2d_PKCS8PrivateKey_bio(BIO * bp,EVP_PKEY * x,const EVP_CIPHER * enc,char * kstr,int klen,pem_password_cb * cb,void * u)804 int Openssl_i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
805     char *kstr, int klen, pem_password_cb *cb, void *u)
806 {
807     return i2d_PKCS8PrivateKey_bio(bp, x, enc, kstr, klen, cb, u);
808 }
809 
Openssl_BIO_new(const BIO_METHOD * type)810 BIO *Openssl_BIO_new(const BIO_METHOD *type)
811 {
812     return BIO_new(type);
813 }
814 
Openssl_BIO_s_mem(void)815 const BIO_METHOD *Openssl_BIO_s_mem(void)
816 {
817     return BIO_s_mem();
818 }
819 
Openssl_BIO_read(BIO * b,void * data,int dlen)820 int Openssl_BIO_read(BIO *b, void *data, int dlen)
821 {
822     return BIO_read(b, data, dlen);
823 }
824 
Openssl_BIO_free_all(BIO * a)825 void Openssl_BIO_free_all(BIO *a)
826 {
827     if (a != NULL) {
828         return BIO_free_all(a);
829     }
830 }
831 
Openssl_RAND_priv_bytes(unsigned char * buf,int num)832 int Openssl_RAND_priv_bytes(unsigned char *buf, int num)
833 {
834     return RAND_priv_bytes(buf, num);
835 }
836 
Openssl_RAND_seed(const void * buf,int num)837 void Openssl_RAND_seed(const void *buf, int num)
838 {
839     RAND_seed(buf, num);
840 }
841 
Openssl_EVP_sha1(void)842 const EVP_MD *Openssl_EVP_sha1(void)
843 {
844     return EVP_sha1();
845 }
846 
Openssl_EVP_sha224(void)847 const EVP_MD *Openssl_EVP_sha224(void)
848 {
849     return EVP_sha224();
850 }
851 
Openssl_EVP_sha256(void)852 const EVP_MD *Openssl_EVP_sha256(void)
853 {
854     return EVP_sha256();
855 }
856 
Openssl_EVP_sha384(void)857 const EVP_MD *Openssl_EVP_sha384(void)
858 {
859     return EVP_sha384();
860 }
861 
Openssl_EVP_sha512(void)862 const EVP_MD *Openssl_EVP_sha512(void)
863 {
864     return EVP_sha512();
865 }
866 
Openssl_EVP_md5(void)867 const EVP_MD *Openssl_EVP_md5(void)
868 {
869     return EVP_md5();
870 }
871 
Openssl_EVP_sm3(void)872 const EVP_MD *Openssl_EVP_sm3(void)
873 {
874     return EVP_sm3();
875 }
876 
Openssl_EVP_DigestFinal_ex(EVP_MD_CTX * ctx,unsigned char * md,unsigned int * size)877 int Openssl_EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size)
878 {
879     return EVP_DigestFinal_ex(ctx, md, size);
880 }
881 
Openssl_EVP_MD_CTX_size(const EVP_MD_CTX * ctx)882 int Openssl_EVP_MD_CTX_size(const EVP_MD_CTX *ctx)
883 {
884     return EVP_MD_CTX_size(ctx);
885 }
886 
Openssl_EVP_DigestInit_ex(EVP_MD_CTX * ctx,const EVP_MD * type,ENGINE * impl)887 int Openssl_EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
888 {
889     return EVP_DigestInit_ex(ctx, type, impl);
890 }
891 
Openssl_HMAC_Init_ex(HMAC_CTX * ctx,const void * key,int len,const EVP_MD * md,ENGINE * impl)892 int Openssl_HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md, ENGINE *impl)
893 {
894     return HMAC_Init_ex(ctx, key, len, md, impl);
895 }
896 
Openssl_HMAC_Final(HMAC_CTX * ctx,unsigned char * md,unsigned int * len)897 int Openssl_HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len)
898 {
899     return HMAC_Final(ctx, md, len);
900 }
901 
Openssl_HMAC_size(const HMAC_CTX * ctx)902 size_t Openssl_HMAC_size(const HMAC_CTX *ctx)
903 {
904     return HMAC_size(ctx);
905 }
906 
Openssl_HMAC_CTX_free(HMAC_CTX * ctx)907 void Openssl_HMAC_CTX_free(HMAC_CTX *ctx)
908 {
909     if (ctx != NULL) {
910         HMAC_CTX_free(ctx);
911     }
912 }
913 
Openssl_HMAC_CTX_new(void)914 HMAC_CTX *Openssl_HMAC_CTX_new(void)
915 {
916     return HMAC_CTX_new();
917 }
918 
Openssl_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX * ctx)919 void Openssl_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
920 {
921     if (ctx != NULL) {
922         EVP_CIPHER_CTX_free(ctx);
923     }
924 }
925 
Openssl_EVP_aes_128_ecb(void)926 const EVP_CIPHER *Openssl_EVP_aes_128_ecb(void)
927 {
928     return EVP_aes_128_ecb();
929 }
930 
Openssl_EVP_aes_192_ecb(void)931 const EVP_CIPHER *Openssl_EVP_aes_192_ecb(void)
932 {
933     return EVP_aes_192_ecb();
934 }
935 
Openssl_EVP_aes_256_ecb(void)936 const EVP_CIPHER *Openssl_EVP_aes_256_ecb(void)
937 {
938     return EVP_aes_256_ecb();
939 }
940 
Openssl_EVP_aes_128_cbc(void)941 const EVP_CIPHER *Openssl_EVP_aes_128_cbc(void)
942 {
943     return EVP_aes_128_cbc();
944 }
945 
Openssl_EVP_aes_192_cbc(void)946 const EVP_CIPHER *Openssl_EVP_aes_192_cbc(void)
947 {
948     return EVP_aes_192_cbc();
949 }
950 
Openssl_EVP_aes_256_cbc(void)951 const EVP_CIPHER *Openssl_EVP_aes_256_cbc(void)
952 {
953     return EVP_aes_256_cbc();
954 }
955 
Openssl_EVP_aes_128_ctr(void)956 const EVP_CIPHER *Openssl_EVP_aes_128_ctr(void)
957 {
958     return EVP_aes_128_ctr();
959 }
960 
Openssl_EVP_aes_192_ctr(void)961 const EVP_CIPHER *Openssl_EVP_aes_192_ctr(void)
962 {
963     return EVP_aes_192_ctr();
964 }
965 
Openssl_EVP_aes_256_ctr(void)966 const EVP_CIPHER *Openssl_EVP_aes_256_ctr(void)
967 {
968     return EVP_aes_256_ctr();
969 }
970 
Openssl_EVP_aes_128_ofb(void)971 const EVP_CIPHER *Openssl_EVP_aes_128_ofb(void)
972 {
973     return EVP_aes_128_ofb();
974 }
975 
Openssl_EVP_aes_192_ofb(void)976 const EVP_CIPHER *Openssl_EVP_aes_192_ofb(void)
977 {
978     return EVP_aes_192_ofb();
979 }
980 
Openssl_EVP_aes_256_ofb(void)981 const EVP_CIPHER *Openssl_EVP_aes_256_ofb(void)
982 {
983     return EVP_aes_256_ofb();
984 }
985 
Openssl_EVP_aes_128_cfb(void)986 const EVP_CIPHER *Openssl_EVP_aes_128_cfb(void)
987 {
988     return EVP_aes_128_cfb();
989 }
990 
Openssl_EVP_aes_192_cfb(void)991 const EVP_CIPHER *Openssl_EVP_aes_192_cfb(void)
992 {
993     return EVP_aes_192_cfb();
994 }
995 
Openssl_EVP_aes_256_cfb(void)996 const EVP_CIPHER *Openssl_EVP_aes_256_cfb(void)
997 {
998     return EVP_aes_256_cfb();
999 }
1000 
Openssl_EVP_aes_128_cfb1(void)1001 const EVP_CIPHER *Openssl_EVP_aes_128_cfb1(void)
1002 {
1003     return EVP_aes_128_cfb1();
1004 }
1005 
Openssl_EVP_aes_192_cfb1(void)1006 const EVP_CIPHER *Openssl_EVP_aes_192_cfb1(void)
1007 {
1008     return EVP_aes_192_cfb1();
1009 }
1010 
Openssl_EVP_aes_256_cfb1(void)1011 const EVP_CIPHER *Openssl_EVP_aes_256_cfb1(void)
1012 {
1013     return EVP_aes_256_cfb1();
1014 }
1015 
Openssl_EVP_aes_128_cfb128(void)1016 const EVP_CIPHER *Openssl_EVP_aes_128_cfb128(void)
1017 {
1018     return EVP_aes_128_cfb128();
1019 }
1020 
Openssl_EVP_aes_192_cfb128(void)1021 const EVP_CIPHER *Openssl_EVP_aes_192_cfb128(void)
1022 {
1023     return EVP_aes_192_cfb128();
1024 }
1025 
Openssl_EVP_aes_256_cfb128(void)1026 const EVP_CIPHER *Openssl_EVP_aes_256_cfb128(void)
1027 {
1028     return EVP_aes_256_cfb128();
1029 }
1030 
Openssl_EVP_aes_128_cfb8(void)1031 const EVP_CIPHER *Openssl_EVP_aes_128_cfb8(void)
1032 {
1033     return EVP_aes_128_cfb8();
1034 }
1035 
Openssl_EVP_aes_192_cfb8(void)1036 const EVP_CIPHER *Openssl_EVP_aes_192_cfb8(void)
1037 {
1038     return EVP_aes_192_cfb8();
1039 }
1040 
Openssl_EVP_aes_256_cfb8(void)1041 const EVP_CIPHER *Openssl_EVP_aes_256_cfb8(void)
1042 {
1043     return EVP_aes_256_cfb8();
1044 }
1045 
Openssl_EVP_aes_128_ccm(void)1046 const EVP_CIPHER *Openssl_EVP_aes_128_ccm(void)
1047 {
1048     return EVP_aes_128_ccm();
1049 }
1050 
Openssl_EVP_aes_192_ccm(void)1051 const EVP_CIPHER *Openssl_EVP_aes_192_ccm(void)
1052 {
1053     return EVP_aes_192_ccm();
1054 }
1055 
Openssl_EVP_aes_256_ccm(void)1056 const EVP_CIPHER *Openssl_EVP_aes_256_ccm(void)
1057 {
1058     return EVP_aes_256_ccm();
1059 }
1060 
Openssl_EVP_aes_128_gcm(void)1061 const EVP_CIPHER *Openssl_EVP_aes_128_gcm(void)
1062 {
1063     return EVP_aes_128_gcm();
1064 }
1065 
Openssl_EVP_aes_192_gcm(void)1066 const EVP_CIPHER *Openssl_EVP_aes_192_gcm(void)
1067 {
1068     return EVP_aes_192_gcm();
1069 }
1070 
Openssl_EVP_aes_256_gcm(void)1071 const EVP_CIPHER *Openssl_EVP_aes_256_gcm(void)
1072 {
1073     return EVP_aes_256_gcm();
1074 }
1075 
Openssl_EVP_sm4_ecb(void)1076 const EVP_CIPHER *Openssl_EVP_sm4_ecb(void)
1077 {
1078     return EVP_sm4_ecb();
1079 }
1080 
Openssl_EVP_sm4_cbc(void)1081 const EVP_CIPHER *Openssl_EVP_sm4_cbc(void)
1082 {
1083     return EVP_sm4_cbc();
1084 }
1085 
Openssl_EVP_sm4_cfb(void)1086 const EVP_CIPHER *Openssl_EVP_sm4_cfb(void)
1087 {
1088     return EVP_sm4_cfb();
1089 }
1090 
Openssl_EVP_sm4_cfb128(void)1091 const EVP_CIPHER *Openssl_EVP_sm4_cfb128(void)
1092 {
1093     return EVP_sm4_cfb128();
1094 }
1095 
Openssl_EVP_sm4_ctr(void)1096 const EVP_CIPHER *Openssl_EVP_sm4_ctr(void)
1097 {
1098     return EVP_sm4_ctr();
1099 }
1100 
Openssl_EVP_sm4_ofb(void)1101 const EVP_CIPHER *Openssl_EVP_sm4_ofb(void)
1102 {
1103     return EVP_sm4_ofb();
1104 }
1105 
Openssl_EVP_CIPHER_CTX_new(void)1106 EVP_CIPHER_CTX *Openssl_EVP_CIPHER_CTX_new(void)
1107 {
1108     return EVP_CIPHER_CTX_new();
1109 }
1110 
Openssl_EVP_CipherInit(EVP_CIPHER_CTX * ctx,const EVP_CIPHER * cipher,const unsigned char * key,const unsigned char * iv,int enc)1111 int Openssl_EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
1112                            const unsigned char *key, const unsigned char *iv, int enc)
1113 {
1114     return EVP_CipherInit(ctx, cipher, key, iv, enc);
1115 }
1116 
Openssl_EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX * ctx,int pad)1117 int Openssl_EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *ctx, int pad)
1118 {
1119     return EVP_CIPHER_CTX_set_padding(ctx, pad);
1120 }
1121 
Openssl_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX * ctx,int type,int arg,void * ptr)1122 int Openssl_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr)
1123 {
1124     return EVP_CIPHER_CTX_ctrl(ctx, type, arg, ptr);
1125 }
1126 
Openssl_EVP_CipherFinal_ex(EVP_CIPHER_CTX * ctx,unsigned char * out,int * outl)1127 int Openssl_EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
1128 {
1129     return EVP_CipherFinal_ex(ctx, out, outl);
1130 }
1131 
Openssl_EVP_CipherUpdate(EVP_CIPHER_CTX * ctx,unsigned char * out,int * outl,const unsigned char * in,int inl)1132 int Openssl_EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl)
1133 {
1134     return EVP_CipherUpdate(ctx, out, outl, in, inl);
1135 }
1136 
Openssl_EVP_des_ede3_ecb(void)1137 const EVP_CIPHER *Openssl_EVP_des_ede3_ecb(void)
1138 {
1139     return EVP_des_ede3_ecb();
1140 }
1141 
Openssl_EVP_des_ede3_cbc(void)1142 const EVP_CIPHER *Openssl_EVP_des_ede3_cbc(void)
1143 {
1144     return EVP_des_ede3_cbc();
1145 }
1146 
Openssl_EVP_des_ede3_ofb(void)1147 const EVP_CIPHER *Openssl_EVP_des_ede3_ofb(void)
1148 {
1149     return EVP_des_ede3_ofb();
1150 }
1151 
Openssl_EVP_des_ede3_cfb64(void)1152 const EVP_CIPHER *Openssl_EVP_des_ede3_cfb64(void)
1153 {
1154     return EVP_des_ede3_cfb64();
1155 }
1156 
Openssl_EVP_des_ede3_cfb1(void)1157 const EVP_CIPHER *Openssl_EVP_des_ede3_cfb1(void)
1158 {
1159     return EVP_des_ede3_cfb1();
1160 }
1161 
Openssl_EVP_des_ede3_cfb8(void)1162 const EVP_CIPHER *Openssl_EVP_des_ede3_cfb8(void)
1163 {
1164     return EVP_des_ede3_cfb8();
1165 }
1166 
Openssl_sm2_ciphertext_size(const EC_KEY * key,const EVP_MD * digest,size_t msgLen,size_t * cipherTextSize)1167 int Openssl_sm2_ciphertext_size(const EC_KEY *key, const EVP_MD *digest, size_t msgLen, size_t *cipherTextSize)
1168 {
1169     return ossl_sm2_ciphertext_size(key, digest, msgLen, cipherTextSize);
1170 }
1171 
Openssl_sm2_plaintext_size(const unsigned char * cipherText,size_t cipherTextSize,size_t * plainTextSize)1172 int Openssl_sm2_plaintext_size(const unsigned char *cipherText, size_t cipherTextSize, size_t *plainTextSize)
1173 {
1174     return ossl_sm2_plaintext_size(cipherText, cipherTextSize, plainTextSize);
1175 }
1176 
Openssl_sm2_encrypt(const EC_KEY * key,const EVP_MD * digest,const uint8_t * msg,size_t msgLen,uint8_t * cipherTextBuf,size_t * cipherTextLen)1177 int Openssl_sm2_encrypt(const EC_KEY *key, const EVP_MD *digest, const uint8_t *msg,
1178                         size_t msgLen, uint8_t *cipherTextBuf, size_t *cipherTextLen)
1179 {
1180     return ossl_sm2_encrypt(key, digest, msg, msgLen, cipherTextBuf, cipherTextLen);
1181 }
1182 
Openssl_sm2_decrypt(const EC_KEY * key,const EVP_MD * digest,const uint8_t * cipherText,size_t cipherTextLen,uint8_t * plainTextBuf,size_t * plainTextLen)1183 int Openssl_sm2_decrypt(const EC_KEY *key, const EVP_MD *digest, const uint8_t *cipherText,
1184                         size_t cipherTextLen, uint8_t *plainTextBuf, size_t *plainTextLen)
1185 {
1186     return ossl_sm2_decrypt(key, digest, cipherText, cipherTextLen, plainTextBuf, plainTextLen);
1187 }
1188 
Openssl_PKCS5_PBKDF2_HMAC(const char * pass,int passlen,const unsigned char * salt,int saltlen,int iter,const EVP_MD * digest,int keylen,unsigned char * out)1189 int Openssl_PKCS5_PBKDF2_HMAC(const char *pass, int passlen, const unsigned char *salt,
1190     int saltlen, int iter, const EVP_MD *digest, int keylen, unsigned char *out)
1191 {
1192     return PKCS5_PBKDF2_HMAC(pass, passlen, salt, saltlen, iter, digest, keylen, out);
1193 }
1194 
Openssl_EC_GROUP_new_by_curve_name(int nid)1195 EC_GROUP *Openssl_EC_GROUP_new_by_curve_name(int nid)
1196 {
1197     return EC_GROUP_new_by_curve_name(nid);
1198 }
1199 
OPENSSL_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX * ctx,int type,int arg,void * ptr)1200 int OPENSSL_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr)
1201 {
1202     return EVP_CIPHER_CTX_ctrl(ctx, type, arg, ptr);
1203 }
1204 
Openssl_DH_new(void)1205 DH *Openssl_DH_new(void)
1206 {
1207     return DH_new();
1208 }
1209 
Openssl_DH_compute_key_padded(unsigned char * key,const BIGNUM * pub_key,DH * dh)1210 int Openssl_DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh)
1211 {
1212     return DH_compute_key_padded(key, pub_key, dh);
1213 }
1214 
Openssl_DH_free(DH * dh)1215 void Openssl_DH_free(DH *dh)
1216 {
1217     if (dh != NULL) {
1218         return DH_free(dh);
1219     }
1220 }
1221 
Openssl_DH_generate_key(DH * dh)1222 int Openssl_DH_generate_key(DH *dh)
1223 {
1224     return DH_generate_key(dh);
1225 }
1226 
Openssl_DH_get0_p(const DH * dh)1227 const BIGNUM *Openssl_DH_get0_p(const DH *dh)
1228 {
1229     return DH_get0_p(dh);
1230 }
1231 
Openssl_DH_get0_q(const DH * dh)1232 const BIGNUM *Openssl_DH_get0_q(const DH *dh)
1233 {
1234     return DH_get0_q(dh);
1235 }
1236 
Openssl_DH_get0_g(const DH * dh)1237 const BIGNUM *Openssl_DH_get0_g(const DH *dh)
1238 {
1239     return DH_get0_g(dh);
1240 }
1241 
Openssl_DH_get_length(const DH * dh)1242 long Openssl_DH_get_length(const DH *dh)
1243 {
1244     return DH_get_length(dh);
1245 }
1246 
Openssl_DH_set_length(DH * dh,long length)1247 int Openssl_DH_set_length(DH *dh, long length)
1248 {
1249     return DH_set_length(dh, length);
1250 }
1251 
Openssl_DH_get0_pub_key(const DH * dh)1252 const BIGNUM *Openssl_DH_get0_pub_key(const DH *dh)
1253 {
1254     return DH_get0_pub_key(dh);
1255 }
1256 
Openssl_DH_get0_priv_key(const DH * dh)1257 const BIGNUM *Openssl_DH_get0_priv_key(const DH *dh)
1258 {
1259     return DH_get0_priv_key(dh);
1260 }
1261 
Openssl_EVP_PKEY_set1_DH(EVP_PKEY * pkey,DH * key)1262 int Openssl_EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key)
1263 {
1264     return EVP_PKEY_set1_DH(pkey, key);
1265 }
1266 
Openssl_EVP_PKEY_get1_DH(EVP_PKEY * pkey)1267 DH *Openssl_EVP_PKEY_get1_DH(EVP_PKEY *pkey)
1268 {
1269     return EVP_PKEY_get1_DH(pkey);
1270 }
1271 
Openssl_EVP_PKEY_assign_DH(EVP_PKEY * pkey,DH * key)1272 int Openssl_EVP_PKEY_assign_DH(EVP_PKEY *pkey, DH *key)
1273 {
1274     return EVP_PKEY_assign_DH(pkey, key);
1275 }
1276 
Openssl_EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX * ctx,int pbits)1277 int Openssl_EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int pbits)
1278 {
1279     return EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, pbits);
1280 }
1281 
Openssl_DH_up_ref(DH * r)1282 int Openssl_DH_up_ref(DH *r)
1283 {
1284     return DH_up_ref(r);
1285 }
1286 
Openssl_DH_set0_pqg(DH * dh,BIGNUM * p,BIGNUM * q,BIGNUM * g)1287 int Openssl_DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
1288 {
1289     return DH_set0_pqg(dh, p, q, g);
1290 }
1291 
Openssl_DH_set0_key(DH * dh,BIGNUM * pub_key,BIGNUM * priv_key)1292 int Openssl_DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
1293 {
1294     return DH_set0_key(dh, pub_key, priv_key);
1295 }