Section: User Commands (1)
Return to Main Contents
- check blacklist of compromised certificates, requests and keys
checks a certificate, request or key against a blacklist of compromised moduli.
A substantial number of certificates, requests and keys are known to have been
generated using a broken version of OpenSSL distributed by Debian which failed
to seed its random number generator correctly. x509 certificates, certificate
requests and RSA keys generated using these OpenSSL versions should be assumed
to be compromised. This tool may be useful in checking for such OpenSSL x509
certificates, certificate requests and RSA keys.
Certificates, requests and keys that are compromised cannot be repaired;
replacements must be generated using
is given as an argument,
will read from standard input.
This can be used to process certificate output from
$ echo | openssl s_client -connect remote.example.org:https | openssl-vulnkey
will test the certificate used by remote.example.org for HTTPS.
The options are as follows:
outputs the fingerprint of each file scanned, with a description of its
This option suppresses that output.
Number of bits for the modulus specified. Requires -m.
Check modulus. Requires -b.
BLACKLIST SHA1SUM FORMAT
The blacklist file may start with comments, on lines starting with
After these initial comments, it must follow a strict format:
Each line must consist of the lower-case hexadecimal SHA1 fingerprint of the
certificate or key's modulus, and with the first 20 characters removed (that
is, the least significant 80 bits of the fingerprint).
The fingerprint of the modulus may be generated using
$ openssl x509 -noout -modulus -in file | sha1sum | cut -d ' ' -f 1
$ openssl rsa -noout -modulus -in file | sha1sum | cut -d ' ' -f 1
$ openssl req -noout -modulus -in file | sha1sum | cut -d ' ' -f 1
This strict format is necessary to allow the blacklist file to be checked
An Jamie Strandboge Aq email@example.com
Much of this manpage is based on Colin Watson's
- BLACKLIST SHA1SUM FORMAT
- SEE ALSO
This document was created by
using the manual pages.