受け取った公開鍵のサイズを把握しようとしています。キーからサイズを決定するにはどうすればよいですか? ドキュメントで簡単な方法が見つかりません。
私が持っているのは公開鍵そのもので、次のように受け取ります。
cert = OpenSSL::X509::Certificate.new(sock.peer_cert)
pkey = cert.public_key
公開鍵は PEM 形式です。つまり、開始行と終了行があり、中央に実際のキーがあります。現在、キー自体は base64 でエンコードされています。その文字列をデコードしてバイト数をカウントすると、サイズが得られます。このサイズには、指数やモジュラスなどの追加要素が含まれています (他にもありますか?)。公開鍵のビット数を決定するために知っておく必要があるのは、モジュラスと指数 (およびそれ以上の場合はそれも) が占めるバイト数です。