summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dsa')
-rw-r--r--src/lib/libcrypto/dsa/dsa_ameth.c110
-rw-r--r--src/lib/libcrypto/dsa/dsa_ossl.c18
-rw-r--r--src/lib/libcrypto/dsa/dsa_pmeth.c42
3 files changed, 72 insertions, 98 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_ameth.c b/src/lib/libcrypto/dsa/dsa_ameth.c
index e9c549802d..ebca5ec5c5 100644
--- a/src/lib/libcrypto/dsa/dsa_ameth.c
+++ b/src/lib/libcrypto/dsa/dsa_ameth.c
@@ -640,65 +640,61 @@ static int dsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
640 640
641/* NB these are sorted in pkey_id order, lowest first */ 641/* NB these are sorted in pkey_id order, lowest first */
642 642
643const EVP_PKEY_ASN1_METHOD dsa_asn1_meths[] = 643const EVP_PKEY_ASN1_METHOD dsa_asn1_meths[] = {
644 { 644 {
645 .pkey_id = EVP_PKEY_DSA2,
646 .pkey_base_id = EVP_PKEY_DSA,
647 .pkey_flags = ASN1_PKEY_ALIAS
648 },
645 649
646 { 650 {
647 EVP_PKEY_DSA2, 651 .pkey_id = EVP_PKEY_DSA1,
648 EVP_PKEY_DSA, 652 .pkey_base_id = EVP_PKEY_DSA,
649 ASN1_PKEY_ALIAS 653 .pkey_flags = ASN1_PKEY_ALIAS
650 }, 654 },
651
652 {
653 EVP_PKEY_DSA1,
654 EVP_PKEY_DSA,
655 ASN1_PKEY_ALIAS
656 },
657
658 {
659 EVP_PKEY_DSA4,
660 EVP_PKEY_DSA,
661 ASN1_PKEY_ALIAS
662 },
663 655
664 { 656 {
665 EVP_PKEY_DSA3, 657 .pkey_id = EVP_PKEY_DSA4,
666 EVP_PKEY_DSA, 658 .pkey_base_id = EVP_PKEY_DSA,
667 ASN1_PKEY_ALIAS 659 .pkey_flags = ASN1_PKEY_ALIAS
668 }, 660 },
669 661
670 { 662 {
671 EVP_PKEY_DSA, 663 .pkey_id = EVP_PKEY_DSA3,
672 EVP_PKEY_DSA, 664 .pkey_base_id = EVP_PKEY_DSA,
673 0, 665 .pkey_flags = ASN1_PKEY_ALIAS
674 666 },
675 "DSA",
676 "OpenSSL DSA method",
677
678 dsa_pub_decode,
679 dsa_pub_encode,
680 dsa_pub_cmp,
681 dsa_pub_print,
682
683 dsa_priv_decode,
684 dsa_priv_encode,
685 dsa_priv_print,
686
687 int_dsa_size,
688 dsa_bits,
689
690 dsa_param_decode,
691 dsa_param_encode,
692 dsa_missing_parameters,
693 dsa_copy_parameters,
694 dsa_cmp_parameters,
695 dsa_param_print,
696 dsa_sig_print,
697
698 int_dsa_free,
699 dsa_pkey_ctrl,
700 old_dsa_priv_decode,
701 old_dsa_priv_encode
702 }
703 };
704 667
668 {
669 .pkey_id = EVP_PKEY_DSA,
670 .pkey_base_id = EVP_PKEY_DSA,
671
672 .pem_str = "DSA",
673 .info = "OpenSSL DSA method",
674
675 .pub_decode = dsa_pub_decode,
676 .pub_encode = dsa_pub_encode,
677 .pub_cmp = dsa_pub_cmp,
678 .pub_print = dsa_pub_print,
679
680 .priv_decode = dsa_priv_decode,
681 .priv_encode = dsa_priv_encode,
682 .priv_print = dsa_priv_print,
683
684 .pkey_size = int_dsa_size,
685 .pkey_bits = dsa_bits,
686
687 .param_decode = dsa_param_decode,
688 .param_encode = dsa_param_encode,
689 .param_missing = dsa_missing_parameters,
690 .param_copy = dsa_copy_parameters,
691 .param_cmp = dsa_cmp_parameters,
692 .param_print = dsa_param_print,
693 .sig_print = dsa_sig_print,
694
695 .pkey_free = int_dsa_free,
696 .pkey_ctrl = dsa_pkey_ctrl,
697 .old_priv_decode = old_dsa_priv_decode,
698 .old_priv_encode = old_dsa_priv_encode
699 }
700};
diff --git a/src/lib/libcrypto/dsa/dsa_ossl.c b/src/lib/libcrypto/dsa/dsa_ossl.c
index b3d78e524c..7e0e3b006e 100644
--- a/src/lib/libcrypto/dsa/dsa_ossl.c
+++ b/src/lib/libcrypto/dsa/dsa_ossl.c
@@ -74,18 +74,12 @@ static int dsa_init(DSA *dsa);
74static int dsa_finish(DSA *dsa); 74static int dsa_finish(DSA *dsa);
75 75
76static DSA_METHOD openssl_dsa_meth = { 76static DSA_METHOD openssl_dsa_meth = {
77"OpenSSL DSA method", 77 .name = "OpenSSL DSA method",
78dsa_do_sign, 78 .dsa_do_sign = dsa_do_sign,
79dsa_sign_setup, 79 .dsa_sign_setup = dsa_sign_setup,
80dsa_do_verify, 80 .dsa_do_verify = dsa_do_verify,
81NULL, /* dsa_mod_exp, */ 81 .init = dsa_init,
82NULL, /* dsa_bn_mod_exp, */ 82 .finish = dsa_finish
83dsa_init,
84dsa_finish,
850,
86NULL,
87NULL,
88NULL
89}; 83};
90 84
91/* These macro wrappers replace attempts to use the dsa_mod_exp() and 85/* These macro wrappers replace attempts to use the dsa_mod_exp() and
diff --git a/src/lib/libcrypto/dsa/dsa_pmeth.c b/src/lib/libcrypto/dsa/dsa_pmeth.c
index 7076bf7b67..4e77c6f64b 100644
--- a/src/lib/libcrypto/dsa/dsa_pmeth.c
+++ b/src/lib/libcrypto/dsa/dsa_pmeth.c
@@ -281,38 +281,22 @@ static int pkey_dsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
281 return DSA_generate_key(pkey->pkey.dsa); 281 return DSA_generate_key(pkey->pkey.dsa);
282 } 282 }
283 283
284const EVP_PKEY_METHOD dsa_pkey_meth = 284const EVP_PKEY_METHOD dsa_pkey_meth = {
285 { 285 .pkey_id = EVP_PKEY_DSA,
286 EVP_PKEY_DSA, 286 .flags = EVP_PKEY_FLAG_AUTOARGLEN,
287 EVP_PKEY_FLAG_AUTOARGLEN,
288 pkey_dsa_init,
289 pkey_dsa_copy,
290 pkey_dsa_cleanup,
291
292 0,
293 pkey_dsa_paramgen,
294
295 0,
296 pkey_dsa_keygen,
297
298 0,
299 pkey_dsa_sign,
300
301 0,
302 pkey_dsa_verify,
303
304 0,0,
305
306 0,0,0,0,
307 287
308 0,0, 288 .init = pkey_dsa_init,
289 .copy = pkey_dsa_copy,
290 .cleanup = pkey_dsa_cleanup,
309 291
310 0,0, 292 .paramgen = pkey_dsa_paramgen,
311 293
312 0,0, 294 .keygen = pkey_dsa_keygen,
313 295
314 pkey_dsa_ctrl, 296 .sign = pkey_dsa_sign,
315 pkey_dsa_ctrl_str
316 297
298 .verify = pkey_dsa_verify,
317 299
318 }; 300 .ctrl = pkey_dsa_ctrl,
301 .ctrl_str = pkey_dsa_ctrl_str
302};