[macruby-changes] [4384] MacRuby/trunk/ext/openssl/ossl_pkey_rsa.c

source_changes at macosforge.org source_changes at macosforge.org
Mon Jul 26 16:03:23 PDT 2010


Revision: 4384
          http://trac.macosforge.org/projects/ruby/changeset/4384
Author:   martinlagardette at apple.com
Date:     2010-07-26 16:03:23 -0700 (Mon, 26 Jul 2010)
Log Message:
-----------
Fixes RSA in OpenSSL (#811)

Modified Paths:
--------------
    MacRuby/trunk/ext/openssl/ossl_pkey_rsa.c

Modified: MacRuby/trunk/ext/openssl/ossl_pkey_rsa.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_pkey_rsa.c	2010-07-26 22:46:35 UTC (rev 4383)
+++ MacRuby/trunk/ext/openssl/ossl_pkey_rsa.c	2010-07-26 23:03:23 UTC (rev 4384)
@@ -287,7 +287,8 @@
 	i2d_func = i2d_RSAPublicKey;
     if((len = i2d_func(pkey->pkey.rsa, NULL)) <= 0)
 	ossl_raise(eRSAError, NULL);
-    str = rb_str_new(0, len);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
     p = (unsigned char *)RSTRING_PTR(str);
     if(i2d_func(pkey->pkey.rsa, &p) < 0)
 	ossl_raise(eRSAError, NULL);
@@ -314,7 +315,8 @@
     rb_scan_args(argc, argv, "11", &buffer, &padding);
     pad = (argc == 1) ? RSA_PKCS1_PADDING : NUM2INT(padding);
     StringValue(buffer);
-    str = rb_str_new(0, ossl_rsa_buf_size(pkey));
+    str = rb_bstr_new();
+    rb_bstr_resize(str, ossl_rsa_buf_size(pkey));
     buf_len = RSA_public_encrypt(RSTRING_LEN(buffer), (unsigned char *)RSTRING_PTR(buffer),
 				 (unsigned char *)RSTRING_PTR(str), pkey->pkey.rsa,
 				 pad);
@@ -340,7 +342,8 @@
     rb_scan_args(argc, argv, "11", &buffer, &padding);
     pad = (argc == 1) ? RSA_PKCS1_PADDING : NUM2INT(padding);
     StringValue(buffer);
-    str = rb_str_new(0, ossl_rsa_buf_size(pkey));
+    str = rb_bstr_new();
+    rb_bstr_resize(str, ossl_rsa_buf_size(pkey));
     buf_len = RSA_public_decrypt(RSTRING_LEN(buffer), (unsigned char *)RSTRING_PTR(buffer),
 				 (unsigned char *)RSTRING_PTR(str), pkey->pkey.rsa,
 				 pad);
@@ -369,7 +372,8 @@
     rb_scan_args(argc, argv, "11", &buffer, &padding);
     pad = (argc == 1) ? RSA_PKCS1_PADDING : NUM2INT(padding);
     StringValue(buffer);
-    str = rb_str_new(0, ossl_rsa_buf_size(pkey));
+    str = rb_bstr_new();
+    rb_bstr_resize(str, ossl_rsa_buf_size(pkey));
     buf_len = RSA_private_encrypt(RSTRING_LEN(buffer), (unsigned char *)RSTRING_PTR(buffer),
 				  (unsigned char *)RSTRING_PTR(str), pkey->pkey.rsa,
 				  pad);
@@ -399,7 +403,8 @@
     rb_scan_args(argc, argv, "11", &buffer, &padding);
     pad = (argc == 1) ? RSA_PKCS1_PADDING : NUM2INT(padding);
     StringValue(buffer);
-    str = rb_str_new(0, ossl_rsa_buf_size(pkey));
+    str = rb_bstr_new();
+    rb_bstr_resize(str, ossl_rsa_buf_size(pkey));
     buf_len = RSA_private_decrypt(RSTRING_LEN(buffer), (unsigned char *)RSTRING_PTR(buffer),
 				  (unsigned char *)RSTRING_PTR(str), pkey->pkey.rsa,
 				  pad);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100726/d67fd0b1/attachment.html>


More information about the macruby-changes mailing list