From f93ac9817d952baaa63dc9f3008ea7678ccc1697 Mon Sep 17 00:00:00 2001 From: beck <> Date: Tue, 11 Jun 2002 12:26:02 +0000 Subject: Make DSA work now... at least for things that can do bn_mod_exp. --- src/lib/libcrypto/engine/hw_cryptodev.c | 11 ++++------- src/lib/libssl/src/crypto/engine/hw_cryptodev.c | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/lib/libcrypto/engine/hw_cryptodev.c b/src/lib/libcrypto/engine/hw_cryptodev.c index 8f55798421..8eea1935a6 100644 --- a/src/lib/libcrypto/engine/hw_cryptodev.c +++ b/src/lib/libcrypto/engine/hw_cryptodev.c @@ -809,6 +809,7 @@ cryptodev_dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa) goto err; } + printf("bar\n"); memset(&kop, 0, sizeof kop); kop.crk_op = CRK_DSA_SIGN; @@ -849,6 +850,7 @@ cryptodev_dsa_verify(const unsigned char *dgst, int dlen, struct crypt_kop kop; int dsaret = 1; + printf("foo\n"); memset(&kop, 0, sizeof kop); kop.crk_op = CRK_DSA_VERIFY; @@ -1021,14 +1023,10 @@ ENGINE_load_cryptodev(void) } } -#if 0 - /* dsa is currently busted. */ if (ENGINE_set_DSA(engine, &cryptodev_dsa)) { const DSA_METHOD *meth = DSA_OpenSSL(); - - cryptodev_dsa.dsa_do_sign = meth->dsa_do_sign; - cryptodev_dsa.dsa_do_verify = meth->dsa_do_verify; - cryptodev_dsa.bn_mod_exp = meth->bn_mod_exp; + + memcpy(&cryptodev_dsa, meth, sizeof(DSA_METHOD)); if (cryptodev_asymfeat & CRF_DSA_SIGN) cryptodev_dsa.dsa_do_sign = cryptodev_dsa_do_sign; if (cryptodev_asymfeat & CRF_DSA_VERIFY) @@ -1036,7 +1034,6 @@ ENGINE_load_cryptodev(void) if (cryptodev_asymfeat & CRF_MOD_EXP) cryptodev_dsa.bn_mod_exp = cryptodev_dsa_bn_mod_exp; } -#endif if (ENGINE_set_DH(engine, &cryptodev_dh)){ diff --git a/src/lib/libssl/src/crypto/engine/hw_cryptodev.c b/src/lib/libssl/src/crypto/engine/hw_cryptodev.c index 8f55798421..8eea1935a6 100644 --- a/src/lib/libssl/src/crypto/engine/hw_cryptodev.c +++ b/src/lib/libssl/src/crypto/engine/hw_cryptodev.c @@ -809,6 +809,7 @@ cryptodev_dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa) goto err; } + printf("bar\n"); memset(&kop, 0, sizeof kop); kop.crk_op = CRK_DSA_SIGN; @@ -849,6 +850,7 @@ cryptodev_dsa_verify(const unsigned char *dgst, int dlen, struct crypt_kop kop; int dsaret = 1; + printf("foo\n"); memset(&kop, 0, sizeof kop); kop.crk_op = CRK_DSA_VERIFY; @@ -1021,14 +1023,10 @@ ENGINE_load_cryptodev(void) } } -#if 0 - /* dsa is currently busted. */ if (ENGINE_set_DSA(engine, &cryptodev_dsa)) { const DSA_METHOD *meth = DSA_OpenSSL(); - - cryptodev_dsa.dsa_do_sign = meth->dsa_do_sign; - cryptodev_dsa.dsa_do_verify = meth->dsa_do_verify; - cryptodev_dsa.bn_mod_exp = meth->bn_mod_exp; + + memcpy(&cryptodev_dsa, meth, sizeof(DSA_METHOD)); if (cryptodev_asymfeat & CRF_DSA_SIGN) cryptodev_dsa.dsa_do_sign = cryptodev_dsa_do_sign; if (cryptodev_asymfeat & CRF_DSA_VERIFY) @@ -1036,7 +1034,6 @@ ENGINE_load_cryptodev(void) if (cryptodev_asymfeat & CRF_MOD_EXP) cryptodev_dsa.bn_mod_exp = cryptodev_dsa_bn_mod_exp; } -#endif if (ENGINE_set_DH(engine, &cryptodev_dh)){ -- cgit v1.2.3-55-g6feb