Предположим, что нам нужно проверить 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 s_client -CApath ~/tmp/cert/ -connect www.test.net:443 | grep "Verify return code:"
Verify return code: 0 (ok)
URL: http://www.cyberciti.biz/faq/test-ssl-certificates-diagnosis.../
Обсуждается: http://www.opennet.dev/tips/info/2082.shtml