从公钥确定密钥大小(PEM格式)

时间:2012-12-06 15:43:34

标签: ruby security size certificate public-key

我正在试图找出我收到的公钥的大小。如何从钥匙中确定尺寸?我在documentation中找不到简单的方法。

我所拥有的是公钥本身,我收到的是这样的:

cert = OpenSSL::X509::Certificate.new(sock.peer_cert)
pkey = cert.public_key

公钥采用PEM格式。所以你有开始和结束行,中间有实际的键。现在密钥本身是base64编码的。如果我解码该字符串并计算字节,我得到一个大小。这个大小包括一些额外的东西,如指数和模数(还有更多?)。我需要知道的是确定公钥的位数是多少字节模数和指数(如果有更多,那么那也是)占用。

1 个答案:

答案 0 :(得分:2)

key_length_in_bits = pkey.n.num_bytes * 8

引用Wikipedia

  

[...] n用作公钥和私钥的模数。它的长度通常以位表示,是密钥长度。 [...]