If a private key needs a passphrase, return a proper error

OpenSSL bindings for Ruby return the same error
(OpenSSL::PKey::RSAError) when the key is not a private key and when it
needs a passphrase and a passphrase is not provided. We can't use keys
with a passphrase, so we need to return a proper error in such
situations.