Issue #6567 has been updated by Kazuki Yamaguchi.


I want to work on this before the release of openssl gem.

- EC#public_key returns an EC::Point, not an EC

    I think it's better to add new #dup_public (or #public_pkey ?) method for each PKey types, rather than changing EC#public_key to return an EC. Compatibility is one of the reasons, but more important, the name 'public_key' is confusing.

- EC#private? and #public? are missing

    Adding aliases to #private_key? and #public_key? respectively should be enough.

- EC#generate_key should be #generate_key!

    DH has #generate_key!.

- EC.generate is missing

    This can be implemented as a shorthand for EC.new(group).generate_key.

----------------------------------------
Bug #6567: Let OpenSSL::PKey::EC follow the general PKey interface 
https://bugs.ruby-lang.org/issues/6567#change-58619

* Author: Martin Bosslet
* Status: Assigned
* Priority: Normal
* Assignee: openssl
* ruby -v: trunk
* Backport: 
----------------------------------------
This is supposed to be a parent task that references several quirks and issues that came up with OpenSSL::PKey::EC. The recurring theme is that EC doesn't follow the PKey interface established by RSA and DSA at times, and this results in things failing that shouldn't. These issues should be fixed even if they break backwards compatibility - in my opinion there's nothing won by keeping an interface that doesn't follow the contract.

Related issues:

https://bugs.ruby-lang.org/issues/5600
https://bugs.ruby-lang.org/issues/6252
https://bugs.ruby-lang.org/issues/4418
https://bugs.ruby-lang.org/issues/6310



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>