Чтобы проверить сведения о сертификате SSL, я использую следующий инструмент командной строки с момента его появления:
https://github.com/azet/tls_tools
Замечательно проверить еще раз, что у вас есть вся информация, правильная для повторной выдачи сертификатов или проверки существующих, а также как мало зависимостей И это не требует настройки.
Вот как выглядят первые несколько строк вывода:
$ ./check_certificate_chain.py gnupg.org 443
>> Certificate Chain:
[+]* OU=Domain Control Validated, OU=Gandi Standard SSL, CN=gnupg.org
[+]** C=FR, O=GANDI SAS, CN=Gandi Standard SSL CA
[+]*** C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Hardware
>> Certificate Information:
................................................................................
- [Subject]: OU=Domain Control Validated, OU=Gandi Standard SSL, CN=gnupg.org
- [Issuer]: C=FR, O=GANDI SAS, CN=Gandi Standard SSL CA
- [Valid from]: Mar 18 00:00:00 2014 GMT
- [Valid until]: Mar 18 23:59:59 2016 GMT
- [Authority]: Is not a CA
- [Version]: 2
- [Serial No.]: 43845251655098616578492338727643475746
- [X.509 Extension Details]:
-- [x509_authorityKeyIdentifier]:
keyid:B6:A8:FF:A2:A8:2F:D0:A6:CD:4B:B1:68:F3:E7:50:10:31:A7:79:21
За этим выводом следует вся цепочка сертификатов с одинаковым уровнем детализации.
Что мне нравится, вместо того, чтобы быть ориентированным на ssl инструментом для работы с клиентами, таким как s_client в openssl, этот пытается просто выполнить ту работу, которая нам нужна в большинстве случаев. Конечно, openssl более гибок (т.е. также проверяет клиентские сертификаты, изображения на нечетных портах и т. Д.), Но мне это не всегда нужно.
В качестве альтернативы, если у вас есть время покопаться в & setup или оценить дополнительные функции, есть более крупный инструмент с именем sslyze (не использующий его, так как зависимости и установка ...)