[#53072] [ruby-trunk - Feature #7994][Open] Make iterators pass an implicit named parameter `iteration` to the executed block — "alexeymuranov (Alexey Muranov)" <redmine@...>

10 messages 2013/03/01

[#53097] [ruby-trunk - Bug #8000][Open] "require 'tk'" segfaults on 64-bit linux with Tk 8.6 — "edmccard (Ed McCardell)" <edmccard@...>

25 messages 2013/03/02

[#53137] [ruby-trunk - Bug #8017][Open] Got segmentation fault on attempt to install ruby 2.0.0-p0 on Mac 10.6.8 via RVM — "adantel (Alex Filatau)" <filatau@...>

9 messages 2013/03/05

[#53168] [ruby-trunk - Bug #8034][Open] File.expand_path('something', '~') do not include home path — "rap-kasta (Pavel Manylov)" <rapkasta@...>

12 messages 2013/03/06

[#53199] [ruby-trunk - Bug #8040][Open] Unexpect behavior when using keyword arguments — "pabloh (Pablo Herrero)" <pablodherrero@...>

11 messages 2013/03/07

[#53203] [ruby-trunk - Feature #8042][Open] Add Addrinfo#socket to create a socket that is not connected or bound — "drbrain (Eric Hodel)" <drbrain@...7.net>

12 messages 2013/03/07

[#53248] Github commit log should not be used as references on redmine — Marc-Andre Lafortune <ruby-core-mailing-list@...>

Github commit log should not be used as references on redmine. E.g:

10 messages 2013/03/09

[#53386] [CommonRuby - Feature #8088][Open] Method#parameters (and friends) should provide useful information about core methods — "headius (Charles Nutter)" <headius@...>

14 messages 2013/03/13

[#53412] [CommonRuby - Feature #8096][Open] introduce Time.current_timestamp — "vipulnsward (Vipul Amler)" <vipulnsward@...>

34 messages 2013/03/14

[#53439] [ruby-trunk - Bug #8100][Open] Segfault in ruby-2.0.0p0 — "judofyr (Magnus Holm)" <judofyr@...>

22 messages 2013/03/15

[#53478] [ruby-trunk - Feature #8107][Open] [patch] runtime flag to track object allocation metadata — "tmm1 (Aman Gupta)" <ruby@...1.net>

20 messages 2013/03/16

[#53498] [ruby-trunk - Feature #8110][Open] Regex methods not changing global variables — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

21 messages 2013/03/18

[#53502] [ruby-trunk - Bug #8115][Open] make install DESTDIR=/my/install/path fails — "vo.x (Vit Ondruch)" <v.ondruch@...>

11 messages 2013/03/18

[#53688] [ruby-trunk - Feature #8158][Open] lightweight structure for loaded features index — "funny_falcon (Yura Sokolov)" <funny.falcon@...>

27 messages 2013/03/24

[#53692] [ruby-trunk - Bug #8159][Open] Build failure introduced by Rinda changes — "luislavena (Luis Lavena)" <luislavena@...>

22 messages 2013/03/24

[#53733] [ruby-trunk - Bug #8165][Open] Problems with require — "Krugloff (Alexandr Kruglov)" <mr.krugloff@...>

12 messages 2013/03/26

[#53742] [ruby-trunk - Bug #8168][Open] Feature request: support for (single) statement lambda syntax/definition — "garysweaver (Gary Weaver)" <garysweaver@...>

9 messages 2013/03/26

[#53765] [ruby-trunk - Bug #8174][Open] AIX header file conflict with rb_hook_list_struct — "edelsohn (David Edelsohn)" <dje.gcc@...>

11 messages 2013/03/27

[#53808] [ruby-trunk - Feature #8181][Open] New flag for strftime that supports adding ordinal suffixes to numbers — "tkellen (Tyler Kellen)" <tyler@...>

10 messages 2013/03/28

[#53811] [ruby-trunk - Bug #8182][Open] XMLRPC request fails with "Wrong size. Was 31564, should be 1501" — "tsagadar (Marcel Mueller)" <marcel.mueller@...>

28 messages 2013/03/28

[#53849] [ruby-trunk - Feature #8191][Open] Short-hand syntax for duck-typing — "wardrop (Tom Wardrop)" <tom@...>

48 messages 2013/03/31

[#53850] An evaluation of 2.0.0 release — Yusuke Endoh <mame@...>

Let's look back at 2.0.0 release so that we can do better next time.

12 messages 2013/03/31

[ruby-core:53792] [ruby-trunk - Bug #8177] ext/openssl/pkcs7 signing fails with EC keys

From: "Jacob640 (Joseph Coyle)" <redmine@...>
Date: 2013-03-28 01:31:23 UTC
List: ruby-core #53792
Issue #8177 has been updated by Jacob640 (Joseph Coyle).


=begin
Hi Martin,

It's only a one liner aliasing public_key? to public? but I did it partly to check that nothing disastrous happened if that change were made.   

RE: the PKey interface I agree that the present situation does seem problematic.   Looking at the issues you have collected there it definitely seems like there are a lot of inconsistancies     One particular area I've experienced is the public key interface several methods assume that a public key will have the same class as private keys.   I particularly encountered this when writing a unit test for pkcs7 signing with EC keys after applying the patch above.   

The current pkcs7 unit tests dynamically construct x509 certificates from precomputed keys feeding the keys and desired attributes to a create_cert utility function in test/openssl/utils.rb.   However substituting in an EC key for an RSA/DSA key does not work because the function expects the response to key.public_key to conform to the PKey specification.   Particularly it expects that the output of key.public_key can be used as a valid argument to key.public_key= which is not true in the case of EC keys.   In order to create a working test the most expedient solution was to add an explicit test to the certificate issuing function.

This had the effect of changing this simple statement:
(({cert.public_key = key.public_key}))

To this:
...
(({
# EC keys need special handeling 
    case key.is_a?(OpenSSL::PKey::EC)
    when true
        ec_pub_key = OpenSSL::PKey::EC.new(key.group)
        ec_pub_key.public_key = key.public_key
        cert.public_key = ec_pub_key
    else
        cert.public_key = key.public_key
    end
end
}))

A branch containing a prototype test and the required alterations in the test utility function are available here: https://github.com/Jacob640/ruby/commit/afc1582a0000a021f4ee24d3cd3520f010f7f666

One aspect of the above code that particularly grates is the requirement for EC group parameter to be set before the public key info can be set.
----------------------------------------
Bug #8177: ext/openssl/pkcs7 signing fails with EC keys
https://bugs.ruby-lang.org/issues/8177#change-37985

Author: Jacob640 (Joseph Coyle)
Status: Assigned
Priority: Normal
Assignee: MartinBosslet (Martin Bosslet)
Category: ext
Target version: current: 2.1.0
ruby -v: ruby 2.1.0dev (2013-03-27 trunk 39950) [x86_64-darwin11.4.2]


ext/openssl/pkcs7 signing fails with EC keys.   This happens because the EC keys do not respond to key.private? method which is used to check that the key is a private key.  Aliasing the instance method OpenSSL::PKey::EC.private_key? as OpenSSL::PKey::EC.private? fixes this problem and allows EC keys to be used for EC key signing.

This problem is demonstrated at https://gist.github.com/Jacob640/5239454

One potential fix which makes the key interface more consistent is here: https://github.com/ruby/ruby/pull/265

This request also improves the EC public key interface by producing a warning if the public key is set before setting an EC group as required.


-- 
http://bugs.ruby-lang.org/

In This Thread