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]

Reply via email to