pkey: unify error classes into PKeyError #929
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove the following subclasses of
OpenSSL::PKey::PKeyError
and make them aliases of it.OpenSSL::PKey::DHError
OpenSSL::PKey::DSAError
OpenSSL::PKey::ECError
OpenSSL::PKey::RSAError
Historically, methods defined on
OpenSSL::PKey
andOpenSSL::PKey::PKey
raiseOpenSSL::PKey::PKeyError
, while methods on the subclasses raise their respective exception classes. However, this distinction is not particularly useful since all those exception classes represent the same kind of errors from the underlyingEVP_PKEY
API.I think this convention comes from the fact that
OpenSSL::PKey::{DH, DSA,RSA}
originally wrapped the corresponding OpenSSL structsDH
,DSA
, andRSA
, before they were unified to wrapEVP_PKEY
, way back in 2002.OpenSSL::PKey::EC::Group::Error
andOpenSSL::PKey::EC::Point::Error
are out of scope of this change, as they are not subclasses ofOpenSSL::PKey::PKeyError
and do not represent errors from theEVP_PKEY
API.