Skip to content

Public key operations support with the EVP API #370

Closed
@rhenium

Description

@rhenium

We currently provide wrappers for the public key cryptographic functions in each OpenSSL::PKey subclass. They have to be rewritten sooner or later to migrate to the EVP API from the low-level API, which is legacy and being deprecated by OpenSSL (#369).

Also, they don't have consistent method naming and signatures across those classes. It sounds like it's a good time to reorganize.

  • OpenSSL::PKey::RSA#private_encrypt and #public_decrypt
    • → OpenSSL::PKey::PKey#{sign,verify}_raw
  • OpenSSL::PKey::DSA#syssign and #sysverify
    • → OpenSSL::PKey::PKey#{sign,verify}_raw
  • OpenSSL::PKey::EC#dsa_sign_asn1 and #dsa_verify_asn1
    • → OpenSSL::PKey::PKey#{sign,verify}_raw
  • OpenSSL::PKey::RSA#public_encrypt and #private_decrypt
    • → OpenSSL::PKey::PKey#{encrypt,decrypt}
  • OpenSSL::PKey::DH#compute_key
    • → OpenSSL::PKey::PKey#derive
  • OpenSSL::PKey::EC#dh_compute_key
    • → OpenSSL::PKey::PKey#derive

Wrappers should be implemented within OpenSSL::PKey for:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions