summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_pubkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/x_pubkey.c')
-rw-r--r--src/lib/libcrypto/asn1/x_pubkey.c35
1 files changed, 1 insertions, 34 deletions
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c
index 29211b3190..0534edcad0 100644
--- a/src/lib/libcrypto/asn1/x_pubkey.c
+++ b/src/lib/libcrypto/asn1/x_pubkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_pubkey.c,v 1.34 2023/07/05 21:23:37 beck Exp $ */ 1/* $OpenBSD: x_pubkey.c,v 1.35 2023/07/07 19:37:53 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 *
@@ -118,28 +118,24 @@ d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len)
118 return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 118 return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
119 &X509_PUBKEY_it); 119 &X509_PUBKEY_it);
120} 120}
121LCRYPTO_ALIAS(d2i_X509_PUBKEY);
122 121
123int 122int
124i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out) 123i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out)
125{ 124{
126 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it); 125 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it);
127} 126}
128LCRYPTO_ALIAS(i2d_X509_PUBKEY);
129 127
130X509_PUBKEY * 128X509_PUBKEY *
131X509_PUBKEY_new(void) 129X509_PUBKEY_new(void)
132{ 130{
133 return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it); 131 return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it);
134} 132}
135LCRYPTO_ALIAS(X509_PUBKEY_new);
136 133
137void 134void
138X509_PUBKEY_free(X509_PUBKEY *a) 135X509_PUBKEY_free(X509_PUBKEY *a)
139{ 136{
140 ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it); 137 ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it);
141} 138}
142LCRYPTO_ALIAS(X509_PUBKEY_free);
143 139
144int 140int
145X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) 141X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
@@ -178,7 +174,6 @@ X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
178 X509_PUBKEY_free(pk); 174 X509_PUBKEY_free(pk);
179 return 0; 175 return 0;
180} 176}
181LCRYPTO_ALIAS(X509_PUBKEY_set);
182 177
183EVP_PKEY * 178EVP_PKEY *
184X509_PUBKEY_get0(X509_PUBKEY *key) 179X509_PUBKEY_get0(X509_PUBKEY *key)
@@ -231,7 +226,6 @@ X509_PUBKEY_get0(X509_PUBKEY *key)
231 EVP_PKEY_free(ret); 226 EVP_PKEY_free(ret);
232 return (NULL); 227 return (NULL);
233} 228}
234LCRYPTO_ALIAS(X509_PUBKEY_get0);
235 229
236EVP_PKEY * 230EVP_PKEY *
237X509_PUBKEY_get(X509_PUBKEY *key) 231X509_PUBKEY_get(X509_PUBKEY *key)
@@ -245,7 +239,6 @@ X509_PUBKEY_get(X509_PUBKEY *key)
245 239
246 return pkey; 240 return pkey;
247} 241}
248LCRYPTO_ALIAS(X509_PUBKEY_get);
249 242
250/* 243/*
251 * Decode an X509_PUBKEY into the specified key type. 244 * Decode an X509_PUBKEY into the specified key type.
@@ -410,14 +403,12 @@ d2i_PUBKEY(EVP_PKEY **pkey, const unsigned char **in, long len)
410 return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len, 403 return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len,
411 &EVP_PKEY_PUBKEY_it); 404 &EVP_PKEY_PUBKEY_it);
412} 405}
413LCRYPTO_ALIAS(d2i_PUBKEY);
414 406
415int 407int
416i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out) 408i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out)
417{ 409{
418 return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it); 410 return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it);
419} 411}
420LCRYPTO_ALIAS(i2d_PUBKEY);
421 412
422EVP_PKEY * 413EVP_PKEY *
423d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey) 414d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
@@ -425,14 +416,12 @@ d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
425 return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp, 416 return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp,
426 (ASN1_VALUE **)pkey); 417 (ASN1_VALUE **)pkey);
427} 418}
428LCRYPTO_ALIAS(d2i_PUBKEY_bio);
429 419
430int 420int
431i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey) 421i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
432{ 422{
433 return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey); 423 return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey);
434} 424}
435LCRYPTO_ALIAS(i2d_PUBKEY_bio);
436 425
437EVP_PKEY * 426EVP_PKEY *
438d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey) 427d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
@@ -440,14 +429,12 @@ d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
440 return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp, 429 return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp,
441 (ASN1_VALUE **)pkey); 430 (ASN1_VALUE **)pkey);
442} 431}
443LCRYPTO_ALIAS(d2i_PUBKEY_fp);
444 432
445int 433int
446i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey) 434i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
447{ 435{
448 return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)pkey); 436 return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)pkey);
449} 437}
450LCRYPTO_ALIAS(i2d_PUBKEY_fp);
451 438
452/* 439/*
453 * The following are equivalents but which return RSA and DSA keys. 440 * The following are equivalents but which return RSA and DSA keys.
@@ -510,42 +497,36 @@ d2i_RSA_PUBKEY(RSA **rsa, const unsigned char **in, long len)
510 return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len, 497 return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len,
511 &RSA_PUBKEY_it); 498 &RSA_PUBKEY_it);
512} 499}
513LCRYPTO_ALIAS(d2i_RSA_PUBKEY);
514 500
515int 501int
516i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out) 502i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out)
517{ 503{
518 return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it); 504 return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it);
519} 505}
520LCRYPTO_ALIAS(i2d_RSA_PUBKEY);
521 506
522RSA * 507RSA *
523d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) 508d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
524{ 509{
525 return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa); 510 return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa);
526} 511}
527LCRYPTO_ALIAS(d2i_RSA_PUBKEY_bio);
528 512
529int 513int
530i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) 514i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
531{ 515{
532 return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa); 516 return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa);
533} 517}
534LCRYPTO_ALIAS(i2d_RSA_PUBKEY_bio);
535 518
536RSA * 519RSA *
537d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) 520d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
538{ 521{
539 return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa); 522 return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa);
540} 523}
541LCRYPTO_ALIAS(d2i_RSA_PUBKEY_fp);
542 524
543int 525int
544i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) 526i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
545{ 527{
546 return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa); 528 return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa);
547} 529}
548LCRYPTO_ALIAS(i2d_RSA_PUBKEY_fp);
549#endif 530#endif
550 531
551#ifndef OPENSSL_NO_DSA 532#ifndef OPENSSL_NO_DSA
@@ -606,42 +587,36 @@ d2i_DSA_PUBKEY(DSA **dsa, const unsigned char **in, long len)
606 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len, 587 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len,
607 &DSA_PUBKEY_it); 588 &DSA_PUBKEY_it);
608} 589}
609LCRYPTO_ALIAS(d2i_DSA_PUBKEY);
610 590
611int 591int
612i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out) 592i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out)
613{ 593{
614 return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it); 594 return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it);
615} 595}
616LCRYPTO_ALIAS(i2d_DSA_PUBKEY);
617 596
618DSA * 597DSA *
619d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) 598d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
620{ 599{
621 return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa); 600 return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa);
622} 601}
623LCRYPTO_ALIAS(d2i_DSA_PUBKEY_bio);
624 602
625int 603int
626i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) 604i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
627{ 605{
628 return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa); 606 return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa);
629} 607}
630LCRYPTO_ALIAS(i2d_DSA_PUBKEY_bio);
631 608
632DSA * 609DSA *
633d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) 610d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
634{ 611{
635 return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa); 612 return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa);
636} 613}
637LCRYPTO_ALIAS(d2i_DSA_PUBKEY_fp);
638 614
639int 615int
640i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) 616i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
641{ 617{
642 return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa); 618 return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa);
643} 619}
644LCRYPTO_ALIAS(i2d_DSA_PUBKEY_fp);
645 620
646#endif 621#endif
647 622
@@ -703,42 +678,36 @@ d2i_EC_PUBKEY(EC_KEY **ec, const unsigned char **in, long len)
703 return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len, 678 return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len,
704 &EC_PUBKEY_it); 679 &EC_PUBKEY_it);
705} 680}
706LCRYPTO_ALIAS(d2i_EC_PUBKEY);
707 681
708int 682int
709i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out) 683i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out)
710{ 684{
711 return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it); 685 return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it);
712} 686}
713LCRYPTO_ALIAS(i2d_EC_PUBKEY);
714 687
715EC_KEY * 688EC_KEY *
716d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec) 689d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec)
717{ 690{
718 return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec); 691 return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec);
719} 692}
720LCRYPTO_ALIAS(d2i_EC_PUBKEY_bio);
721 693
722int 694int
723i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec) 695i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec)
724{ 696{
725 return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec); 697 return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec);
726} 698}
727LCRYPTO_ALIAS(i2d_EC_PUBKEY_bio);
728 699
729EC_KEY * 700EC_KEY *
730d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec) 701d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec)
731{ 702{
732 return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec); 703 return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec);
733} 704}
734LCRYPTO_ALIAS(d2i_EC_PUBKEY_fp);
735 705
736int 706int
737i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec) 707i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec)
738{ 708{
739 return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec); 709 return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec);
740} 710}
741LCRYPTO_ALIAS(i2d_EC_PUBKEY_fp);
742#endif 711#endif
743 712
744int 713int
@@ -755,7 +724,6 @@ X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype,
755 724
756 return asn1_abs_set_unused_bits(pub->public_key, 0); 725 return asn1_abs_set_unused_bits(pub->public_key, 0);
757} 726}
758LCRYPTO_ALIAS(X509_PUBKEY_set0_param);
759 727
760int 728int
761X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk, 729X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
@@ -771,4 +739,3 @@ X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
771 *pa = pub->algor; 739 *pa = pub->algor;
772 return 1; 740 return 1;
773} 741}
774LCRYPTO_ALIAS(X509_PUBKEY_get0_param);