[#58149] [ruby-trunk - Feature #9076][Open] New one-argument block syntax: &. — "asterite (Ary Borenszweig)" <ary@...>

23 messages 2013/11/04

[#58176] [ruby-trunk - Bug #9082][Open] popen3 hangs when stderr gets lots of output — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

15 messages 2013/11/05

[#58207] [ruby-trunk - Bug #9089][Open] rb_fix2uint no longer raises a RangeError when given negative values — "NoKarma (Arthur Schreiber)" <schreiber.arthur@...>

9 messages 2013/11/06

[#58243] [ruby-trunk - Feature #9098][Open] Indent heredoc against the left margin by default when "indented closing identifier" is turned on. — "sikachu (Prem Sichanugrist)" <s@...>

24 messages 2013/11/09

[#58306] [ruby-trunk - Bug #9106][Open] 'gem install' doesn't copy .so files of ext libs — "tagomoris (Satoshi TAGOMORI)" <tagomoris@...>

15 messages 2013/11/13

[#58324] [ruby-trunk - Feature #9108][Open] Hash sub-selections — "wardrop (Tom Wardrop)" <tom@...>

28 messages 2013/11/14

[#58342] [ruby-trunk - Feature #9112][Open] Make module lookup more dynamic (Including modules into a module after it has already been included) — "PragTob (Tobias Pfeiffer)" <pragtob@...>

16 messages 2013/11/14

[#58350] [ruby-trunk - Feature #9113][Open] Ship Ruby for Linux with jemalloc out-of-the-box — "sam.saffron (Sam Saffron)" <sam.saffron@...>

59 messages 2013/11/15

[#58374] [ruby-trunk - Bug #9115][Open] Logger traps all exceptions; breaks Timeout — "cphoenix (Chris Phoenix)" <cphoenix@...>

10 messages 2013/11/16

[#58375] [ruby-trunk - Feature #9116][Open] String#rsplit missing — "artagnon (Ramkumar Ramachandra)" <artagnon@...>

12 messages 2013/11/16

[#58396] [ruby-trunk - Bug #9121][Open] [PATCH] Remove rbtree implementation of SortedSet due to performance regression — "xshay (Xavier Shay)" <contact@...>

15 messages 2013/11/18

[#58404] [ruby-trunk - Feature #9123][Open] Make Numeric#nonzero? behavior consistent with Numeric#zero? — "sferik (Erik Michaels-Ober)" <sferik@...>

40 messages 2013/11/18

[#58411] [ruby-trunk - Bug #9124][Open] TestSocket errors in test-all on Arch 64-bit — "jonforums (Jon Forums)" <redmine@...>

14 messages 2013/11/18

[#58438] [ruby-trunk - Bug #9129][Open] Regression in support for IPv6 literals in URIs with Net::HTTP — "kallistec (Daniel DeLeo)" <dan@...>

11 messages 2013/11/19

[#58545] [ruby-trunk - Feature #9145][Open] Queue#pop(true) return nil if empty instead of raising ThreadError — "jsc (Justin Collins)" <redmine@...>

9 messages 2013/11/24

[#58653] [ruby-trunk - Bug #9170][Open] Math.sqrt returns different types when mathn is included; breaks various gems - this bug can be reproduced in Ruby 1.8 as well — "kranzky (Jason Hutchens)" <JasonHutchens@...>

7 messages 2013/11/28

[ruby-core:58277] Openssl: included is a method for retrieving signed data

From: "Carlo E. Prelz" <fluido@...>
Date: 2013-11-11 11:50:54 UTC
List: ruby-core #58277
Good day, and lots of thanks for all the work you are doing on Ruby. I
write to this list because Openssl is included in the MRI sources, and
I could not come across any reference to a way to contact the 'OpenSSL
for Ruby' team members that are mentioned in the source.

Let me say at the outset that I have practically no experience on
Openssl. I only have to use it marginally for a project and, having
seen what's inside, I will WANT to keep my involvement as marginal as
I can.

After much sweat I was able to generate keys and certificates the way
I wanted them. I then came to my real need, that of signing arbitrary
blocks of data. I easily found the OpenSSL::PKCS7::sign method,
obtained my nice PEM files, and verified that their size depended on
the size of the original object - that meant that the object was
included in the file. So far so good.

I then found info on the net about how to verify the
signature. Excellent!

My next need was to extract the data that I had orignally passed to
the #sign method.

I spent a good day searching for a ready-made solution. No way. Maybe
I did not search well enough. Nevertheless, this morning I set myself
the irrevocable order to find a solution, no matter how hard it would
be. This resulted in adding a function to the ext/openssl/ossl_pkcs7.c
file. The function is this one:

--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
static VALUE get_signed_data(VALUE self)
{
  PKCS7 *p7;
  GetPKCS7(self,p7);

  if(!PKCS7_type_is_signed(p7))
    return Qnil;

  return asn1str_to_str(p7->d.sign->contents->d.data);
}
--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--

This line is needed later in the source to have my code invoked as
#signed_data from Ruby:

--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--

rb_define_method(cPKCS7,"signed_data",get_signed_data,0);

--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--

What I cannot do is adapt to naming conventions, indentations, and
whatnot, or learn how to submit an official path. I try to maintain a
living while keeping as untainted as possible from the 21st century.

If someone who's reading, and who is a knowledgeable patch submitter,
wishes to, s/he is welcome to insert the above code (possibly fixing
it as much as needed). Otherwise, this mail will remain in the many
archives, and whoever has the same problem I had will have at least a
little help.

Best

Carlo

-- 
  *         Se la Strada e la sua Virtu' non fossero state messe da parte,
* K * Carlo E. Prelz - fluido@fluido.as             che bisogno ci sarebbe
  *               di parlare tanto di amore e di rettitudine? (Chuang-Tzu)

In This Thread

Prev Next