From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id 95E7A17C7919 for ; Sun, 10 Jun 2012 09:31:35 +0900 (JST) Received: from funfun.nagaokaut.ac.jp (smtp.nagaokaut.ac.jp [133.44.2.201]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 24848EA6B82 for ; Sun, 10 Jun 2012 09:29:32 +0900 (JST) Received: from localhost (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 738368FC29 for ; Sun, 10 Jun 2012 09:29:32 +0900 (JST) X-Virus-Scanned: amavisd-new at funfun.nagaokaut.ac.jp Received: from funfun.nagaokaut.ac.jp ([127.0.0.1]) by localhost (funfun.nagaokaut.ac.jp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WgYcyc3TSlZ5 for ; Sun, 10 Jun 2012 09:29:32 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 5203F8FC1B for ; Sun, 10 Jun 2012 09:29:32 +0900 (JST) Received: from carbon.ruby-lang.org (carbon.ruby-lang.org [221.186.184.68]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id D3B3A952475 for ; Sun, 10 Jun 2012 09:29:30 +0900 (JST) Received: from beryllium.ruby-lang.org (beryllium.ruby-lang.org [127.0.0.1]) by carbon.ruby-lang.org (Postfix) with ESMTP id DEC263C229567; Sun, 10 Jun 2012 09:29:28 +0900 (JST) Received: from fluorine.ruby-lang.org (www.rubyist.net [210.251.121.216]) by carbon.ruby-lang.org (Postfix) with ESMTP id 91C443C21EB75 for ; Sun, 10 Jun 2012 09:29:23 +0900 (JST) Received: from ruby-lang.org (localhost [127.0.0.1]) by fluorine.ruby-lang.org (Postfix) with ESMTP id 77E953ED44 for ; Sun, 10 Jun 2012 09:29:23 +0900 (JST) Delivered-To: ruby-core@ruby-lang.org Date: Sun, 10 Jun 2012 09:29:23 +0900 Posted: Sun, 10 Jun 2012 09:29:23 +0900 From: "MartinBosslet (Martin Bosslet)" Reply-To: ruby-core@ruby-lang.org Subject: [ruby-core:45540] [ruby-trunk - Bug #5600] OpenSSL::X509::Request can't sign() an OpenSSL::PKey::EC To: ruby-core@ruby-lang.org Message-Id: References: X-ML-Name: ruby-core X-Mail-Count: 45540 X-MLServer: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post) X-ML-Info: If you have a question, send e-mail with the body "help" (without quotes) to the address ruby-core-ctl@ruby-lang.org; help= X-Mailer: Redmine X-Spam-Checker-Version: SpamAssassin 3.1.7-deb3 (2006-10-05) on carbon.ruby-lang.org X-Spam-Level: X-Spam-Status: No, score=0.6 required=7.0 tests=BAYES_50,CONTENT_TYPE_PRESENT, FORGED_RCVD_HELO,TOOLONGSTR,X_MAILER_PRESENT autolearn=disabled version=3.1.7-deb3 X-Redmine-Issue-Author: scaligo X-Redmine-Issue-Assignee: MartinBosslet X-Auto-Response-Suppress: OOF X-Redmine-Issue-Id: 5600 X-Redmine-Mailinglistintegration-Message-Ids: 15743 X-Redmine-Project: ruby-trunk Auto-Submitted: auto-generated X-Redmine-Site: Ruby Issue Tracking System X-Redmine-Host: bugs.ruby-lang.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Precedence: bulk List-Id: ruby-core.ruby-lang.org List-Software: fml [fml 4.0.3 release (20011202/4.0.3)] List-Post: List-Owner: List-Help: List-Unsubscribe: Issue #5600 has been updated by MartinBosslet (Martin Bosslet). Unfortunately it's not done by simply renaming the methods appropriately. It still would fail because OpenSSL::PKey::EC#public_key returns an OpenSSL::PKey::EC::Point instead of another OpenSSL::PKey::EC, and as a consequence, there's no reference to an EVP_PKEY that is needed internally. The whole EC interface needs an overhaul. I'll set up a parent task referencing all the issues that piled up since the release of 1.9.3. The goal would be to make EC follow the general PKey interface, allowing to use them interchangeably wherever a PKey instance is expected. ---------------------------------------- Bug #5600: OpenSSL::X509::Request can't sign() an OpenSSL::PKey::EC https://bugs.ruby-lang.org/issues/5600#change-27135 Author: scaligo (Steve Caligo) Status: Assigned Priority: Normal Assignee: MartinBosslet (Martin Bosslet) Category: ext Target version: 2.0.0 ruby -v: ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] Unlike the PKey::DSA and PKey::RSA classes, PKey::EC provides a private_key?() rather than private?() method and is thus incompatible with the other OpenSSL classes that rely on them, i.e. it makes impossible to generate a certificate signing request: key = OpenSSL::PKey::EC.new('secp521r1') key.generate_key req = OpenSSL::X509::Request.new req.public_key = key req.subject = OpenSSL::X509::Name.parse('CN=whatever') req.sign(key, OpenSSL::Digest::SHA384.new) which produces the error: in `sign': undefined method `private?' for # (NoMethodError) ossl_pkey_ec.c should either: - rb_define_method() the missing private? and public? methods - rename public_key? to public? and private_key? to private? Judging by the source code, this should be present in branch 1.8 as well. -- http://bugs.ruby-lang.org/