Given the r & s part of the DSA signature,
I generate a DSA_signature out of it, and
need to pass it to
openssl dgst -dss1 -signature ....
This gives me the following error:
Error Verifying Data
50524:error:0D0680A8:asn1 encoding
routines:ASN1_CHECK_TLEN:wrong
tag:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_dec.c:946:
50524:error:0D07803A:asn1 encoding
routines:ASN1_ITEM_EX_D2I:nested asn1
error:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_dec.c:304:Type=DSA_SIG
Does i2d_DSA_SIG return signature in some encoded
form?
Thanks,
Pallavi
/******code snippet ***************/
u_char sigdata[BUFSIZ], complete_sig[BUFSIZ];
long siglen, complete_sig_len;
DSA_SIG *dsa_sig;
bzero(sigdata, sizeof(sigdata));
bzero(complete_sig, sizeof(complete_sig));
/*
* Since we are given the 'r' & 's' part of the DSA
* signature, we need
* to generate a complete DSA signature out of this.
*/
if (siglen != DSA_R_SIZE + DSA_S_SIZE)
printf("error..");
dsa_sig = DSA_SIG_new();
if (dsa_sig == NULL)
printf("could not create signature");
dsa_sig->r = BN_bin2bn(sigdata, DSA_R_SIG_SIZE,
dsa_sig->r);
dsa_sig->s = BN_bin2bn(sigdata + DSA_R_SIG_SIZE,
DSA_S_SIG_SIZE, dsa_sig->s);
complete_sig_len = i2d_DSA_SIG(dsa_sig,
&complete_sig);
DSA_SIG_free(dsa_sig);
__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]