Как проверить корневую и промежуточную цепочки CA?

Например, возьмем jks, который содержит сертификат Comodo CA root, несколько промежуточных сертификатов и сертификат, подписанный собственным сервером:

 # keytool -list -keystore akira.jks
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 5 entries

comodoutnsgcca, Jan 16, 2014, trustedCertEntry,
Certificate fingerprint (MD5): C7:1E:D8:79:91:4C:01:AC:ED:ED:00:30:4C:47:F0:E4
akira, Jan 16, 2014, PrivateKeyEntry,
Certificate fingerprint (MD5): A6:90:2D:8A:0E:4B:A3:0A:B5:50:9A:E3:F9:B8:E5:AC
essentialsslca_2, Jan 16, 2014, trustedCertEntry,
Certificate fingerprint (MD5): B5:1A:6D:2D:44:CC:72:D6:C6:2A:1B:97:5A:18:3D:91
utnaddtrust, Jan 16, 2014, trustedCertEntry,
Certificate fingerprint (MD5): 55:07:0F:1F:9A:E5:EA:21:61:F3:72:2B:8B:41:7F:27
addtrustexternalcaroot, Jan 16, 2014, trustedCertEntry,
Certificate fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F

Как я могу точно увидеть, что просматривается запись сертификата - для этого требуется другой сертификат в цепочке?

Если я запускаю -list с опцией -v - я вижу много информации, например "Extensions", "#1: ObjectId" и так далее.

Итак, в какой строке описаны зависимости?


person setevoy    schedule 20.01.2014    source источник
comment
Он определяется эмитентом каждого сертификата в цепочке. Ваш сертификат был выдан конкретным эмитентом; этот эмитент, в свою очередь, был выпущен другим и т. д. до доверенного корня. Вы должны пройти по цепочке от сертификата до сертификата.   -  person Joe    schedule 20.01.2014


Ответы (1)


Итак, вот ответ:

# openssl s_client -connect localhost:8443
CONNECTED(00000003)
depth=4 /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
verify error:num=19:self signed certificate in certificate chain
verify return:0
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=Hosted by LeaderTelecom Ltd./OU=Free     SSL/CN=akira.setevoy.kiev.ua
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=EssentialSSL CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=EssentialSSL CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO Certification Authority
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO Certification Authority
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN - DATACorp SGC
 3 s:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN - DATACorp SGC
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 4 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root

Вот полная цепочка - от локального подписанного сертификата (CN=akira.setevoy.kiev.ua) до корневого CA - (CN=AddTrust External CA Root).

s здесь "subject" - "имя" сертификата и i это issuer - кто выдал этот сертификат.

Итак, Root имеет имя AddTrust External CA Root и выдается AddTrust External CA Root.

Другой способ - используйте онлайн-инструменты, такие как SSL Checker..

person setevoy    schedule 20.01.2014