このRubyコードを持っている:
require 'openssl'
require 'securerandom'
class AuthRsa
def initialize(public_key, private_key)
@public_key = OpenSSL::PKey::RSA.new(public_key)
@private_key = OpenSSL::PKey::RSA.new(private_key)
@key = SecureRandom.base64(16)
end
def valid?
crypt_key = @public_key.public_encrypt(@key)
return @key == @private_key.private_decrypt(crypt_key)
end
end
正しい公開鍵と秘密鍵を使用してクラスをテストする場合はすべて問題ありませんが、偽の証明書を送信すると、次のエラーでテストが失敗します:OpenSSL :: PKey :: RSAエラー:パディングチェックに失敗しました
エラーの代わりにfalseを返すようにメソッドprivate_decryptを設定することは可能ですか?