|
From: <iro...@us...> - 2004-02-19 03:21:43
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16903 Modified Files: RSA.xs Log Message: clean up signature code. Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** RSA.xs 19 Feb 2004 02:57:16 -0000 1.53 --- RSA.xs 19 Feb 2004 03:11:39 -0000 1.54 *************** *** 65,73 **** { case NID_md5: ! return 16; break; case NID_sha1: case NID_ripemd160: ! return 20; break; default: --- 65,75 ---- { case NID_md5: ! return MD5_DIGEST_LENGTH; break; case NID_sha1: + return SHA_DIGEST_LENGTH; + break; case NID_ripemd160: ! return RIPEMD160_DIGEST_LENGTH; break; default: *************** *** 81,127 **** int text_length; unsigned char* text; - unsigned char* message_digest; text = SvPV(text_SV, text_length); - CHECK_NEW(message_digest, get_digest_length(hash_method), char) - switch(hash_method) { case NID_md5: ! { ! if (MD5(text, text_length, message_digest) == NULL) ! { ! croak("failed to compute the MD5 message digest in package " ! PACKAGE_NAME); ! } break; - } - case NID_sha1: ! { ! if (SHA1(text, text_length, message_digest) == NULL) ! { ! croak("failed to compute the SHA1 message digest in package " ! PACKAGE_NAME); ! } break; - } case NID_ripemd160: ! { ! if (RIPEMD160(text, text_length, message_digest) == NULL) ! { ! croak("failed to compute the SHA1 message digest in package " ! PACKAGE_NAME); ! } break; - } default: - { croak("Unknown digest hash code"); break; - } } - return message_digest; } --- 83,104 ---- int text_length; unsigned char* text; text = SvPV(text_SV, text_length); switch(hash_method) { case NID_md5: ! return MD5(text, text_length, NULL); break; case NID_sha1: ! return SHA1(text, text_length, NULL); break; case NID_ripemd160: ! return RIPEMD160(text, text_length, NULL); break; default: croak("Unknown digest hash code"); break; } } *************** *** 150,154 **** RSA*(*p_loader)(BIO*, RSA**, pem_password_cb*, void*)) { ! int keyStringLength; /* Needed to pass to SvPV */ char* keyString; --- 127,131 ---- RSA*(*p_loader)(BIO*, RSA**, pem_password_cb*, void*)) { ! int keyStringLength; char* keyString; *************** *** 514,518 **** char* digest; int signature_length; - int result; CODE: if (! is_private(p_rsa)) --- 491,494 ---- *************** *** 523,535 **** CHECK_NEW(signature, RSA_size(p_rsa->rsa), char) ! digest = get_message_digest(text_SV, p_rsa->hashMode); ! result = RSA_sign(p_rsa->hashMode, ! digest, ! get_digest_length(p_rsa->hashMode), ! signature, ! &signature_length, ! p_rsa->rsa); ! Safefree(digest); ! CHECK_OPEN_SSL(result) RETVAL = newSVpvn(signature, signature_length); Safefree(signature); --- 499,509 ---- CHECK_NEW(signature, RSA_size(p_rsa->rsa), char) ! CHECK_OPEN_SSL(digest = get_message_digest(text_SV, p_rsa->hashMode)) ! CHECK_OPEN_SSL(RSA_sign(p_rsa->hashMode, ! digest, ! get_digest_length(p_rsa->hashMode), ! signature, ! &signature_length, ! p_rsa->rsa)) RETVAL = newSVpvn(signature, signature_length); Safefree(signature); *************** *** 549,553 **** char* digest; int sig_length; - int result; sig = SvPV(sig_SV, sig_length); --- 523,526 ---- *************** *** 557,569 **** } ! digest = get_message_digest(text_SV, p_rsa->hashMode); ! result = RSA_verify(p_rsa->hashMode, ! digest, ! get_digest_length(p_rsa->hashMode), ! sig, ! sig_length, ! p_rsa->rsa); ! Safefree(digest); ! switch(result) { case 0: --- 530,540 ---- } ! CHECK_OPEN_SSL(digest = get_message_digest(text_SV, p_rsa->hashMode)) ! switch(RSA_verify(p_rsa->hashMode, ! digest, ! get_digest_length(p_rsa->hashMode), ! sig, ! sig_length, ! p_rsa->rsa)) { case 0: |