Проверка SSL сертификата из командной строки |
[исправить] |
Предположим, что нам нужно проверить SSL сертификат сайта www.test.net
Создаем рабочие директории:
mkdir -p ~/tmp/cert
cd ~/tmp/cert
1. Получаем копию сертификата:
openssl s_client -showcerts -connect www.test.net:443 > test.pem
Запоминаем данные из секции "Server certificate", касающиеся утвердившей сертификат организации:
cat test.pem| grep issuer
issuer=/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certificates.godaddy.com/repository/CN=Go Daddy...
Непосредственно нужный нам сертификат находится в test.pem между метками
"-----BEGIN CERTIFICATE-----"
и "-----END CERTIFICATE-----", удалять лишнее не обязательно, утилиты openssl
воспримут его и в таком виде.
2. Получаем сертификат удостоверяющего центра, URL которого мы нашли на прошлом шаге в поле issuer:
wget https://certs.godaddy.com/repository/gd_bundle.crt -O gd.pem
3. Создаем символические ссылки на основе сопоставленных им хешей:
c_rehash ~/tmp/cert
Doing ~/tmp/cert
test.pem => 1d97af50.0
gd.pem => 219d9499.0
4. Проверка сертификата.
Удостоверимся, что сертификаты рабочие и загружены корректно:
openssl verify -CApath ~/tmp/cert/
или для проверки текущего состояния сайта в сочетании с ранее сохраненными сертификатами:
openssl s_client -CApath ~/tmp/cert/ -connect www.test.net:443 | grep "Verify return code:"
Verify return code: 0 (ok)
|
|
|
|
Раздел: Корень / Безопасность / Шифрование, PGP |