summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/p_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/evp/p_lib.c')
-rw-r--r--src/lib/libcrypto/evp/p_lib.c42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/lib/libcrypto/evp/p_lib.c b/src/lib/libcrypto/evp/p_lib.c
index e1760122c6..325fb605df 100644
--- a/src/lib/libcrypto/evp/p_lib.c
+++ b/src/lib/libcrypto/evp/p_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p_lib.c,v 1.32 2022/11/26 16:08:53 tb Exp $ */ 1/* $OpenBSD: p_lib.c,v 1.33 2023/07/07 13:54:46 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -93,6 +93,7 @@ EVP_PKEY_bits(const EVP_PKEY *pkey)
93 return pkey->ameth->pkey_bits(pkey); 93 return pkey->ameth->pkey_bits(pkey);
94 return 0; 94 return 0;
95} 95}
96LCRYPTO_ALIAS(EVP_PKEY_bits);
96 97
97int 98int
98EVP_PKEY_security_bits(const EVP_PKEY *pkey) 99EVP_PKEY_security_bits(const EVP_PKEY *pkey)
@@ -104,6 +105,7 @@ EVP_PKEY_security_bits(const EVP_PKEY *pkey)
104 105
105 return pkey->ameth->pkey_security_bits(pkey); 106 return pkey->ameth->pkey_security_bits(pkey);
106} 107}
108LCRYPTO_ALIAS(EVP_PKEY_security_bits);
107 109
108int 110int
109EVP_PKEY_size(const EVP_PKEY *pkey) 111EVP_PKEY_size(const EVP_PKEY *pkey)
@@ -112,6 +114,7 @@ EVP_PKEY_size(const EVP_PKEY *pkey)
112 return pkey->ameth->pkey_size(pkey); 114 return pkey->ameth->pkey_size(pkey);
113 return 0; 115 return 0;
114} 116}
117LCRYPTO_ALIAS(EVP_PKEY_size);
115 118
116int 119int
117EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode) 120EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode)
@@ -136,6 +139,7 @@ EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode)
136#endif 139#endif
137 return (0); 140 return (0);
138} 141}
142LCRYPTO_ALIAS(EVP_PKEY_save_parameters);
139 143
140int 144int
141EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) 145EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
@@ -155,6 +159,7 @@ EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
155err: 159err:
156 return 0; 160 return 0;
157} 161}
162LCRYPTO_ALIAS(EVP_PKEY_copy_parameters);
158 163
159int 164int
160EVP_PKEY_missing_parameters(const EVP_PKEY *pkey) 165EVP_PKEY_missing_parameters(const EVP_PKEY *pkey)
@@ -163,6 +168,7 @@ EVP_PKEY_missing_parameters(const EVP_PKEY *pkey)
163 return pkey->ameth->param_missing(pkey); 168 return pkey->ameth->param_missing(pkey);
164 return 0; 169 return 0;
165} 170}
171LCRYPTO_ALIAS(EVP_PKEY_missing_parameters);
166 172
167int 173int
168EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b) 174EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
@@ -173,6 +179,7 @@ EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
173 return a->ameth->param_cmp(a, b); 179 return a->ameth->param_cmp(a, b);
174 return -2; 180 return -2;
175} 181}
182LCRYPTO_ALIAS(EVP_PKEY_cmp_parameters);
176 183
177int 184int
178EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b) 185EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
@@ -195,6 +202,7 @@ EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
195 202
196 return -2; 203 return -2;
197} 204}
205LCRYPTO_ALIAS(EVP_PKEY_cmp);
198 206
199EVP_PKEY * 207EVP_PKEY *
200EVP_PKEY_new(void) 208EVP_PKEY_new(void)
@@ -216,6 +224,7 @@ EVP_PKEY_new(void)
216 ret->save_parameters = 1; 224 ret->save_parameters = 1;
217 return (ret); 225 return (ret);
218} 226}
227LCRYPTO_ALIAS(EVP_PKEY_new);
219 228
220int 229int
221EVP_PKEY_up_ref(EVP_PKEY *pkey) 230EVP_PKEY_up_ref(EVP_PKEY *pkey)
@@ -223,6 +232,7 @@ EVP_PKEY_up_ref(EVP_PKEY *pkey)
223 int refs = CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY); 232 int refs = CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
224 return ((refs > 1) ? 1 : 0); 233 return ((refs > 1) ? 1 : 0);
225} 234}
235LCRYPTO_ALIAS(EVP_PKEY_up_ref);
226 236
227/* Setup a public key ASN1 method and ENGINE from a NID or a string. 237/* Setup a public key ASN1 method and ENGINE from a NID or a string.
228 * If pkey is NULL just return 1 or 0 if the algorithm exists. 238 * If pkey is NULL just return 1 or 0 if the algorithm exists.
@@ -277,6 +287,7 @@ EVP_PKEY_set_type(EVP_PKEY *pkey, int type)
277{ 287{
278 return pkey_set_type(pkey, NULL, type, NULL, -1); 288 return pkey_set_type(pkey, NULL, type, NULL, -1);
279} 289}
290LCRYPTO_ALIAS(EVP_PKEY_set_type);
280 291
281EVP_PKEY * 292EVP_PKEY *
282EVP_PKEY_new_raw_private_key(int type, ENGINE *engine, 293EVP_PKEY_new_raw_private_key(int type, ENGINE *engine,
@@ -306,6 +317,7 @@ EVP_PKEY_new_raw_private_key(int type, ENGINE *engine,
306 317
307 return NULL; 318 return NULL;
308} 319}
320LCRYPTO_ALIAS(EVP_PKEY_new_raw_private_key);
309 321
310EVP_PKEY * 322EVP_PKEY *
311EVP_PKEY_new_raw_public_key(int type, ENGINE *engine, 323EVP_PKEY_new_raw_public_key(int type, ENGINE *engine,
@@ -335,6 +347,7 @@ EVP_PKEY_new_raw_public_key(int type, ENGINE *engine,
335 347
336 return NULL; 348 return NULL;
337} 349}
350LCRYPTO_ALIAS(EVP_PKEY_new_raw_public_key);
338 351
339int 352int
340EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, 353EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey,
@@ -351,6 +364,7 @@ EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey,
351 364
352 return 1; 365 return 1;
353} 366}
367LCRYPTO_ALIAS(EVP_PKEY_get_raw_private_key);
354 368
355int 369int
356EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, 370EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey,
@@ -367,6 +381,7 @@ EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey,
367 381
368 return 1; 382 return 1;
369} 383}
384LCRYPTO_ALIAS(EVP_PKEY_get_raw_public_key);
370 385
371EVP_PKEY * 386EVP_PKEY *
372EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, size_t len, 387EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, size_t len,
@@ -397,12 +412,14 @@ EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, size_t len,
397 CMAC_CTX_free(cmctx); 412 CMAC_CTX_free(cmctx);
398 return NULL; 413 return NULL;
399} 414}
415LCRYPTO_ALIAS(EVP_PKEY_new_CMAC_key);
400 416
401int 417int
402EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len) 418EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len)
403{ 419{
404 return pkey_set_type(pkey, NULL, EVP_PKEY_NONE, str, len); 420 return pkey_set_type(pkey, NULL, EVP_PKEY_NONE, str, len);
405} 421}
422LCRYPTO_ALIAS(EVP_PKEY_set_type_str);
406 423
407int 424int
408EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key) 425EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
@@ -412,12 +429,14 @@ EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
412 pkey->pkey.ptr = key; 429 pkey->pkey.ptr = key;
413 return (key != NULL); 430 return (key != NULL);
414} 431}
432LCRYPTO_ALIAS(EVP_PKEY_assign);
415 433
416void * 434void *
417EVP_PKEY_get0(const EVP_PKEY *pkey) 435EVP_PKEY_get0(const EVP_PKEY *pkey)
418{ 436{
419 return pkey->pkey.ptr; 437 return pkey->pkey.ptr;
420} 438}
439LCRYPTO_ALIAS(EVP_PKEY_get0);
421 440
422const unsigned char * 441const unsigned char *
423EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len) 442EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len)
@@ -434,6 +453,7 @@ EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len)
434 453
435 return os->data; 454 return os->data;
436} 455}
456LCRYPTO_ALIAS(EVP_PKEY_get0_hmac);
437 457
438#ifndef OPENSSL_NO_RSA 458#ifndef OPENSSL_NO_RSA
439RSA * 459RSA *
@@ -445,6 +465,7 @@ EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
445 } 465 }
446 return pkey->pkey.rsa; 466 return pkey->pkey.rsa;
447} 467}
468LCRYPTO_ALIAS(EVP_PKEY_get0_RSA);
448 469
449RSA * 470RSA *
450EVP_PKEY_get1_RSA(EVP_PKEY *pkey) 471EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
@@ -456,6 +477,7 @@ EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
456 RSA_up_ref(pkey->pkey.rsa); 477 RSA_up_ref(pkey->pkey.rsa);
457 return pkey->pkey.rsa; 478 return pkey->pkey.rsa;
458} 479}
480LCRYPTO_ALIAS(EVP_PKEY_get1_RSA);
459 481
460int 482int
461EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key) 483EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key)
@@ -465,6 +487,7 @@ EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key)
465 RSA_up_ref(key); 487 RSA_up_ref(key);
466 return ret; 488 return ret;
467} 489}
490LCRYPTO_ALIAS(EVP_PKEY_set1_RSA);
468#endif 491#endif
469 492
470#ifndef OPENSSL_NO_DSA 493#ifndef OPENSSL_NO_DSA
@@ -477,6 +500,7 @@ EVP_PKEY_get0_DSA(EVP_PKEY *pkey)
477 } 500 }
478 return pkey->pkey.dsa; 501 return pkey->pkey.dsa;
479} 502}
503LCRYPTO_ALIAS(EVP_PKEY_get0_DSA);
480 504
481DSA * 505DSA *
482EVP_PKEY_get1_DSA(EVP_PKEY *pkey) 506EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
@@ -488,6 +512,7 @@ EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
488 DSA_up_ref(pkey->pkey.dsa); 512 DSA_up_ref(pkey->pkey.dsa);
489 return pkey->pkey.dsa; 513 return pkey->pkey.dsa;
490} 514}
515LCRYPTO_ALIAS(EVP_PKEY_get1_DSA);
491 516
492int 517int
493EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key) 518EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
@@ -497,6 +522,7 @@ EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
497 DSA_up_ref(key); 522 DSA_up_ref(key);
498 return ret; 523 return ret;
499} 524}
525LCRYPTO_ALIAS(EVP_PKEY_set1_DSA);
500#endif 526#endif
501 527
502#ifndef OPENSSL_NO_EC 528#ifndef OPENSSL_NO_EC
@@ -509,6 +535,7 @@ EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
509 } 535 }
510 return pkey->pkey.ec; 536 return pkey->pkey.ec;
511} 537}
538LCRYPTO_ALIAS(EVP_PKEY_get0_EC_KEY);
512 539
513EC_KEY * 540EC_KEY *
514EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey) 541EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
@@ -520,6 +547,7 @@ EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
520 EC_KEY_up_ref(pkey->pkey.ec); 547 EC_KEY_up_ref(pkey->pkey.ec);
521 return pkey->pkey.ec; 548 return pkey->pkey.ec;
522} 549}
550LCRYPTO_ALIAS(EVP_PKEY_get1_EC_KEY);
523 551
524int 552int
525EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key) 553EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
@@ -529,6 +557,7 @@ EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
529 EC_KEY_up_ref(key); 557 EC_KEY_up_ref(key);
530 return ret; 558 return ret;
531} 559}
560LCRYPTO_ALIAS(EVP_PKEY_set1_EC_KEY);
532#endif 561#endif
533 562
534 563
@@ -542,6 +571,7 @@ EVP_PKEY_get0_DH(EVP_PKEY *pkey)
542 } 571 }
543 return pkey->pkey.dh; 572 return pkey->pkey.dh;
544} 573}
574LCRYPTO_ALIAS(EVP_PKEY_get0_DH);
545 575
546DH * 576DH *
547EVP_PKEY_get1_DH(EVP_PKEY *pkey) 577EVP_PKEY_get1_DH(EVP_PKEY *pkey)
@@ -553,6 +583,7 @@ EVP_PKEY_get1_DH(EVP_PKEY *pkey)
553 DH_up_ref(pkey->pkey.dh); 583 DH_up_ref(pkey->pkey.dh);
554 return pkey->pkey.dh; 584 return pkey->pkey.dh;
555} 585}
586LCRYPTO_ALIAS(EVP_PKEY_get1_DH);
556 587
557int 588int
558EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key) 589EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key)
@@ -562,6 +593,7 @@ EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key)
562 DH_up_ref(key); 593 DH_up_ref(key);
563 return ret; 594 return ret;
564} 595}
596LCRYPTO_ALIAS(EVP_PKEY_set1_DH);
565#endif 597#endif
566 598
567int 599int
@@ -580,18 +612,21 @@ EVP_PKEY_type(int type)
580#endif 612#endif
581 return ret; 613 return ret;
582} 614}
615LCRYPTO_ALIAS(EVP_PKEY_type);
583 616
584int 617int
585EVP_PKEY_id(const EVP_PKEY *pkey) 618EVP_PKEY_id(const EVP_PKEY *pkey)
586{ 619{
587 return pkey->type; 620 return pkey->type;
588} 621}
622LCRYPTO_ALIAS(EVP_PKEY_id);
589 623
590int 624int
591EVP_PKEY_base_id(const EVP_PKEY *pkey) 625EVP_PKEY_base_id(const EVP_PKEY *pkey)
592{ 626{
593 return EVP_PKEY_type(pkey->type); 627 return EVP_PKEY_type(pkey->type);
594} 628}
629LCRYPTO_ALIAS(EVP_PKEY_base_id);
595 630
596void 631void
597EVP_PKEY_free(EVP_PKEY *x) 632EVP_PKEY_free(EVP_PKEY *x)
@@ -610,6 +645,7 @@ EVP_PKEY_free(EVP_PKEY *x)
610 sk_X509_ATTRIBUTE_pop_free(x->attributes, X509_ATTRIBUTE_free); 645 sk_X509_ATTRIBUTE_pop_free(x->attributes, X509_ATTRIBUTE_free);
611 free(x); 646 free(x);
612} 647}
648LCRYPTO_ALIAS(EVP_PKEY_free);
613 649
614static void 650static void
615EVP_PKEY_free_it(EVP_PKEY *x) 651EVP_PKEY_free_it(EVP_PKEY *x)
@@ -643,6 +679,7 @@ EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, int indent,
643 679
644 return unsup_alg(out, pkey, indent, "Public Key"); 680 return unsup_alg(out, pkey, indent, "Public Key");
645} 681}
682LCRYPTO_ALIAS(EVP_PKEY_print_public);
646 683
647int 684int
648EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent, 685EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent,
@@ -653,6 +690,7 @@ EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent,
653 690
654 return unsup_alg(out, pkey, indent, "Private Key"); 691 return unsup_alg(out, pkey, indent, "Private Key");
655} 692}
693LCRYPTO_ALIAS(EVP_PKEY_print_private);
656 694
657int 695int
658EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent, 696EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent,
@@ -662,6 +700,7 @@ EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent,
662 return pkey->ameth->param_print(out, pkey, indent, pctx); 700 return pkey->ameth->param_print(out, pkey, indent, pctx);
663 return unsup_alg(out, pkey, indent, "Parameters"); 701 return unsup_alg(out, pkey, indent, "Parameters");
664} 702}
703LCRYPTO_ALIAS(EVP_PKEY_print_params);
665 704
666int 705int
667EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid) 706EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid)
@@ -671,3 +710,4 @@ EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid)
671 return pkey->ameth->pkey_ctrl(pkey, ASN1_PKEY_CTRL_DEFAULT_MD_NID, 710 return pkey->ameth->pkey_ctrl(pkey, ASN1_PKEY_CTRL_DEFAULT_MD_NID,
672 0, pnid); 711 0, pnid);
673} 712}
713LCRYPTO_ALIAS(EVP_PKEY_get_default_digest_nid);