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:
|