openssl s_client -connect hostname:port
Na przykladzie serwera SMTP moze potrzebny byc argument '
-starttls smtp'
openssl s_client -starttls smtp -connect hostname:port
W odpowiedzi wyszukujemy ponizszych lini, ktore doprowadza nas do zrodla:
issuer=/C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
Teraz sciagamy certyfikaty zrodlowe od instytucji, kotra je podpisala:
Dla Thawte jak w powyzszym przykladzie:
wget https://www.verisign.com/support/thawte-roots.zip
unzip -p thawte-roots.zip 'Thawte Server Roots/ThawtePremiumServerCA_b64.txt' > ~/.authenticate/ca.pem
Ponizej adres z ktorego mozemy sciagnac pakiet CA, ktory jest domyslnie dolaczany do produktow Mozilla:
http://curl.haxx.se/docs/caextract.html
wget http://curl.haxx.se/ca/cacert.pem
mv cacert.pem ~/.authenticate/ca.pem
By sprawdzic czy CA ,ktore maja sa poprawne i podwierdza na certyfikat , ktorym odpowiada serwer wystarczy uzyc argumentu
-CAfile
openssl s_client -starttls smtp -connect hostname:port -CAfile ~/.authenticate/ca.pem
W odpowiedzi wyszkujemy lini:
Verify return code: 0 (ok)
Important
Pamietajmy by dostep do danych certifikatow mial tylko
root
chmod 0700 ~/.authenticate
chmod 0600 ~/.authenticate/ca.pem