diff options
author | Werner Koch <[email protected]> | 1998-06-15 15:41:04 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 1998-06-15 15:41:04 +0000 |
commit | 6e1ca6b80fb50ff5e1c065b7ac12635487b4a6d2 (patch) | |
tree | 7c4a888893a91b59753b3d89e59832f8c24ba039 /cipher/pubkey.c | |
parent | gnupg extension are now working (diff) | |
download | gnupg-6e1ca6b80fb50ff5e1c065b7ac12635487b4a6d2.tar.gz gnupg-6e1ca6b80fb50ff5e1c065b7ac12635487b4a6d2.zip |
extensions are now working and fixed a lot of bugs
Diffstat (limited to 'cipher/pubkey.c')
-rw-r--r-- | cipher/pubkey.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cipher/pubkey.c b/cipher/pubkey.c index 3357ae12c..b18f1c316 100644 --- a/cipher/pubkey.c +++ b/cipher/pubkey.c @@ -28,6 +28,8 @@ #include "errors.h" #include "mpi.h" #include "cipher.h" +#include "elgamal.h" +#include "dsa.h" #include "dynload.h" @@ -46,7 +48,8 @@ struct pubkey_table_s { int (*encrypt)( int algo, MPI *resarr, MPI data, MPI *pkey ); int (*decrypt)( int algo, MPI *result, MPI *data, MPI *skey ); int (*sign)( int algo, MPI *resarr, MPI data, MPI *skey ); - int (*verify)( int algo, MPI hash, MPI *data, MPI *pkey ); + int (*verify)( int algo, MPI hash, MPI *data, MPI *pkey, + int (*cmp)(void *, MPI), void *opaquev ); unsigned (*get_nbits)( int algo, MPI *pkey ); }; @@ -75,7 +78,8 @@ dummy_sign( int algo, MPI *resarr, MPI data, MPI *skey ) { log_bug("no sign() for %d\n", algo ); return G10ERR_PUBKEY_ALGO; } static int -dummy_verify( int algo, MPI hash, MPI *data, MPI *pkey ) +dummy_verify( int algo, MPI hash, MPI *data, MPI *pkey, + int (*cmp)(void *, MPI), void *opaquev ) { log_bug("no verify() for %d\n", algo ); return G10ERR_PUBKEY_ALGO; } static unsigned @@ -523,7 +527,8 @@ pubkey_sign( int algo, MPI *resarr, MPI data, MPI *skey ) * Return 0 if the signature is good */ int -pubkey_verify( int algo, MPI hash, MPI *data, MPI *pkey ) +pubkey_verify( int algo, MPI hash, MPI *data, MPI *pkey, + int (*cmp)(void *, MPI), void *opaquev ) { int i, rc; @@ -531,7 +536,8 @@ pubkey_verify( int algo, MPI hash, MPI *data, MPI *pkey ) do { for(i=0; pubkey_table[i].name; i++ ) if( pubkey_table[i].algo == algo ) { - rc = (*pubkey_table[i].verify)( algo, hash, data, pkey ); + rc = (*pubkey_table[i].verify)( algo, hash, data, pkey, + cmp, opaquev ); goto ready; } } while( load_pubkey_modules() ); |