summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec/ec_asn1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/ec/ec_asn1.c')
-rw-r--r--src/lib/libcrypto/ec/ec_asn1.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/lib/libcrypto/ec/ec_asn1.c b/src/lib/libcrypto/ec/ec_asn1.c
index 6aedab9774..0435f0a75f 100644
--- a/src/lib/libcrypto/ec/ec_asn1.c
+++ b/src/lib/libcrypto/ec/ec_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_asn1.c,v 1.46 2023/06/27 07:28:57 tb Exp $ */ 1/* $OpenBSD: ec_asn1.c,v 1.47 2023/07/07 13:54:45 beck Exp $ */
2/* 2/*
3 * Written by Nils Larsch for the OpenSSL project. 3 * Written by Nils Larsch for the OpenSSL project.
4 */ 4 */
@@ -72,6 +72,7 @@ EC_GROUP_get_basis_type(const EC_GROUP *group)
72{ 72{
73 return 0; 73 return 0;
74} 74}
75LCRYPTO_ALIAS(EC_GROUP_get_basis_type);
75 76
76/* some structures needed for the asn1 encoding */ 77/* some structures needed for the asn1 encoding */
77typedef struct x9_62_pentanomial_st { 78typedef struct x9_62_pentanomial_st {
@@ -184,12 +185,14 @@ X9_62_PENTANOMIAL_new(void)
184{ 185{
185 return (X9_62_PENTANOMIAL*)ASN1_item_new(&X9_62_PENTANOMIAL_it); 186 return (X9_62_PENTANOMIAL*)ASN1_item_new(&X9_62_PENTANOMIAL_it);
186} 187}
188LCRYPTO_ALIAS(X9_62_PENTANOMIAL_new);
187 189
188void 190void
189X9_62_PENTANOMIAL_free(X9_62_PENTANOMIAL *a) 191X9_62_PENTANOMIAL_free(X9_62_PENTANOMIAL *a)
190{ 192{
191 ASN1_item_free((ASN1_VALUE *)a, &X9_62_PENTANOMIAL_it); 193 ASN1_item_free((ASN1_VALUE *)a, &X9_62_PENTANOMIAL_it);
192} 194}
195LCRYPTO_ALIAS(X9_62_PENTANOMIAL_free);
193 196
194static const ASN1_TEMPLATE char_two_def_tt = { 197static const ASN1_TEMPLATE char_two_def_tt = {
195 .flags = 0, 198 .flags = 0,
@@ -284,12 +287,14 @@ X9_62_CHARACTERISTIC_TWO_new(void)
284{ 287{
285 return (X9_62_CHARACTERISTIC_TWO*)ASN1_item_new(&X9_62_CHARACTERISTIC_TWO_it); 288 return (X9_62_CHARACTERISTIC_TWO*)ASN1_item_new(&X9_62_CHARACTERISTIC_TWO_it);
286} 289}
290LCRYPTO_ALIAS(X9_62_CHARACTERISTIC_TWO_new);
287 291
288void 292void
289X9_62_CHARACTERISTIC_TWO_free(X9_62_CHARACTERISTIC_TWO *a) 293X9_62_CHARACTERISTIC_TWO_free(X9_62_CHARACTERISTIC_TWO *a)
290{ 294{
291 ASN1_item_free((ASN1_VALUE *)a, &X9_62_CHARACTERISTIC_TWO_it); 295 ASN1_item_free((ASN1_VALUE *)a, &X9_62_CHARACTERISTIC_TWO_it);
292} 296}
297LCRYPTO_ALIAS(X9_62_CHARACTERISTIC_TWO_free);
293 298
294static const ASN1_TEMPLATE fieldID_def_tt = { 299static const ASN1_TEMPLATE fieldID_def_tt = {
295 .flags = 0, 300 .flags = 0,
@@ -455,12 +460,14 @@ ECPARAMETERS_new(void)
455{ 460{
456 return (ECPARAMETERS*)ASN1_item_new(&ECPARAMETERS_it); 461 return (ECPARAMETERS*)ASN1_item_new(&ECPARAMETERS_it);
457} 462}
463LCRYPTO_ALIAS(ECPARAMETERS_new);
458 464
459void 465void
460ECPARAMETERS_free(ECPARAMETERS *a) 466ECPARAMETERS_free(ECPARAMETERS *a)
461{ 467{
462 ASN1_item_free((ASN1_VALUE *)a, &ECPARAMETERS_it); 468 ASN1_item_free((ASN1_VALUE *)a, &ECPARAMETERS_it);
463} 469}
470LCRYPTO_ALIAS(ECPARAMETERS_free);
464 471
465static const ASN1_TEMPLATE ECPKPARAMETERS_ch_tt[] = { 472static const ASN1_TEMPLATE ECPKPARAMETERS_ch_tt[] = {
466 { 473 {
@@ -507,24 +514,28 @@ d2i_ECPKPARAMETERS(ECPKPARAMETERS **a, const unsigned char **in, long len)
507 return (ECPKPARAMETERS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 514 return (ECPKPARAMETERS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
508 &ECPKPARAMETERS_it); 515 &ECPKPARAMETERS_it);
509} 516}
517LCRYPTO_ALIAS(d2i_ECPKPARAMETERS);
510 518
511int 519int
512i2d_ECPKPARAMETERS(const ECPKPARAMETERS *a, unsigned char **out) 520i2d_ECPKPARAMETERS(const ECPKPARAMETERS *a, unsigned char **out)
513{ 521{
514 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECPKPARAMETERS_it); 522 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECPKPARAMETERS_it);
515} 523}
524LCRYPTO_ALIAS(i2d_ECPKPARAMETERS);
516 525
517ECPKPARAMETERS * 526ECPKPARAMETERS *
518ECPKPARAMETERS_new(void) 527ECPKPARAMETERS_new(void)
519{ 528{
520 return (ECPKPARAMETERS *)ASN1_item_new(&ECPKPARAMETERS_it); 529 return (ECPKPARAMETERS *)ASN1_item_new(&ECPKPARAMETERS_it);
521} 530}
531LCRYPTO_ALIAS(ECPKPARAMETERS_new);
522 532
523void 533void
524ECPKPARAMETERS_free(ECPKPARAMETERS *a) 534ECPKPARAMETERS_free(ECPKPARAMETERS *a)
525{ 535{
526 ASN1_item_free((ASN1_VALUE *)a, &ECPKPARAMETERS_it); 536 ASN1_item_free((ASN1_VALUE *)a, &ECPKPARAMETERS_it);
527} 537}
538LCRYPTO_ALIAS(ECPKPARAMETERS_free);
528 539
529static const ASN1_TEMPLATE EC_PRIVATEKEY_seq_tt[] = { 540static const ASN1_TEMPLATE EC_PRIVATEKEY_seq_tt[] = {
530 { 541 {
@@ -578,24 +589,28 @@ d2i_EC_PRIVATEKEY(EC_PRIVATEKEY **a, const unsigned char **in, long len)
578 return (EC_PRIVATEKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 589 return (EC_PRIVATEKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
579 &EC_PRIVATEKEY_it); 590 &EC_PRIVATEKEY_it);
580} 591}
592LCRYPTO_ALIAS(d2i_EC_PRIVATEKEY);
581 593
582int 594int
583i2d_EC_PRIVATEKEY(const EC_PRIVATEKEY *a, unsigned char **out) 595i2d_EC_PRIVATEKEY(const EC_PRIVATEKEY *a, unsigned char **out)
584{ 596{
585 return ASN1_item_i2d((ASN1_VALUE *)a, out, &EC_PRIVATEKEY_it); 597 return ASN1_item_i2d((ASN1_VALUE *)a, out, &EC_PRIVATEKEY_it);
586} 598}
599LCRYPTO_ALIAS(i2d_EC_PRIVATEKEY);
587 600
588EC_PRIVATEKEY * 601EC_PRIVATEKEY *
589EC_PRIVATEKEY_new(void) 602EC_PRIVATEKEY_new(void)
590{ 603{
591 return (EC_PRIVATEKEY *)ASN1_item_new(&EC_PRIVATEKEY_it); 604 return (EC_PRIVATEKEY *)ASN1_item_new(&EC_PRIVATEKEY_it);
592} 605}
606LCRYPTO_ALIAS(EC_PRIVATEKEY_new);
593 607
594void 608void
595EC_PRIVATEKEY_free(EC_PRIVATEKEY *a) 609EC_PRIVATEKEY_free(EC_PRIVATEKEY *a)
596{ 610{
597 ASN1_item_free((ASN1_VALUE *)a, &EC_PRIVATEKEY_it); 611 ASN1_item_free((ASN1_VALUE *)a, &EC_PRIVATEKEY_it);
598} 612}
613LCRYPTO_ALIAS(EC_PRIVATEKEY_free);
599 614
600/* some declarations of internal function */ 615/* some declarations of internal function */
601 616
@@ -1101,6 +1116,7 @@ d2i_ECPKParameters(EC_GROUP **a, const unsigned char **in, long len)
1101 ECPKPARAMETERS_free(params); 1116 ECPKPARAMETERS_free(params);
1102 return (group); 1117 return (group);
1103} 1118}
1119LCRYPTO_ALIAS(d2i_ECPKParameters);
1104 1120
1105int 1121int
1106i2d_ECPKParameters(const EC_GROUP *a, unsigned char **out) 1122i2d_ECPKParameters(const EC_GROUP *a, unsigned char **out)
@@ -1119,6 +1135,7 @@ i2d_ECPKParameters(const EC_GROUP *a, unsigned char **out)
1119 ECPKPARAMETERS_free(tmp); 1135 ECPKPARAMETERS_free(tmp);
1120 return (ret); 1136 return (ret);
1121} 1137}
1138LCRYPTO_ALIAS(i2d_ECPKParameters);
1122 1139
1123/* some EC_KEY functions */ 1140/* some EC_KEY functions */
1124 1141
@@ -1213,6 +1230,7 @@ d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long len)
1213 1230
1214 return (NULL); 1231 return (NULL);
1215} 1232}
1233LCRYPTO_ALIAS(d2i_ECPrivateKey);
1216 1234
1217int 1235int
1218i2d_ECPrivateKey(EC_KEY *a, unsigned char **out) 1236i2d_ECPrivateKey(EC_KEY *a, unsigned char **out)
@@ -1297,6 +1315,7 @@ i2d_ECPrivateKey(EC_KEY *a, unsigned char **out)
1297 EC_PRIVATEKEY_free(priv_key); 1315 EC_PRIVATEKEY_free(priv_key);
1298 return (ok ? ret : 0); 1316 return (ok ? ret : 0);
1299} 1317}
1318LCRYPTO_ALIAS(i2d_ECPrivateKey);
1300 1319
1301int 1320int
1302i2d_ECParameters(EC_KEY *a, unsigned char **out) 1321i2d_ECParameters(EC_KEY *a, unsigned char **out)
@@ -1307,6 +1326,7 @@ i2d_ECParameters(EC_KEY *a, unsigned char **out)
1307 } 1326 }
1308 return i2d_ECPKParameters(a->group, out); 1327 return i2d_ECPKParameters(a->group, out);
1309} 1328}
1329LCRYPTO_ALIAS(i2d_ECParameters);
1310 1330
1311EC_KEY * 1331EC_KEY *
1312d2i_ECParameters(EC_KEY **a, const unsigned char **in, long len) 1332d2i_ECParameters(EC_KEY **a, const unsigned char **in, long len)
@@ -1336,6 +1356,7 @@ d2i_ECParameters(EC_KEY **a, const unsigned char **in, long len)
1336 *a = ret; 1356 *a = ret;
1337 return ret; 1357 return ret;
1338} 1358}
1359LCRYPTO_ALIAS(d2i_ECParameters);
1339 1360
1340EC_KEY * 1361EC_KEY *
1341o2i_ECPublicKey(EC_KEY **a, const unsigned char **in, long len) 1362o2i_ECPublicKey(EC_KEY **a, const unsigned char **in, long len)
@@ -1362,6 +1383,7 @@ o2i_ECPublicKey(EC_KEY **a, const unsigned char **in, long len)
1362 *in += len; 1383 *in += len;
1363 return ret; 1384 return ret;
1364} 1385}
1386LCRYPTO_ALIAS(o2i_ECPublicKey);
1365 1387
1366int 1388int
1367i2o_ECPublicKey(const EC_KEY *a, unsigned char **out) 1389i2o_ECPublicKey(const EC_KEY *a, unsigned char **out)
@@ -1400,3 +1422,4 @@ i2o_ECPublicKey(const EC_KEY *a, unsigned char **out)
1400 *out += buf_len; 1422 *out += buf_len;
1401 return buf_len; 1423 return buf_len;
1402} 1424}
1425LCRYPTO_ALIAS(i2o_ECPublicKey);