70

Using OpenSSL from the command line in Linux, is there some way to examine a key (either public or private) to determine the key size?

  • 1
    There are many different ways depending on the format of the keypair. Were you looking at a specific format? – Zoredache Oct 27 '11 at 19:55
91
openssl rsa -in private.key -text -noout

The top line of the output will display the key size.

For example:

Private-Key: (2048 bit)

To view the key size from a certificate:

$ openssl x509 -in public.pem -text -noout | grep "RSA Public Key"
RSA Public Key: (2048 bit)
  • And if he is using DSA, or something else. How about determining the key size from the public key(cert). – Zoredache Oct 27 '11 at 19:51
  • @Zoredache Yeah - I could have sworn the question said "private key" specifically; either I'm losing it or an edit beat the 5 minute timer. – Shane Madden Oct 27 '11 at 20:13
  • 2
    OpenSSL 1.0.1g 7 Apr 2014 format requires | grep "Public-Key" – Vadzim Sep 15 '15 at 7:23
6

The first (2048) is the bit length of the key:

 $ ssh-keygen -lf /etc/ssh/rsa_key.pub 
 2048 91:1c:ae:17:16:...
  • 5
    He said 'openssl', not 'openssh'. – MikeyB Oct 27 '11 at 20:46

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.