Ruby 4.1 リファレンスマニュアル

instance method OpenSSL::PKey::PKey#compare?

compare?(other) -> boolRuby 3.1 から[permalink][rdoc][edit]

self と other が同じ鍵かどうかを比較します。

主に OpenSSL::X509::Certificate#public_key が返す公開鍵と、対応する秘密鍵を比較する際に使います。

[PARAM] other:
比較対象の OpenSSL::PKey::PKey オブジェクト
[RETURN]
self と other のアルゴリズムの種類、パラメータ、公開鍵が一致すれば true、一致しなければ false
[EXCEPTION] TypeError:
self と other のアルゴリズムの種類が異なる場合に発生します
[EXCEPTION] OpenSSL::PKey::PKeyError:
比較の実行に失敗した場合に発生します
require "openssl"
rsa_key = OpenSSL::PKey::RSA.generate(2048)
copy = OpenSSL::PKey.read(rsa_key.public_to_der)
p rsa_key.compare?(copy) # => true