Bug 19214

Summary: gnutls не верифицирует цепочку из двух сертификатов
Product: Branch 4.1 Reporter: redbaron <redbaron>
Component: libgnutlsAssignee: Afanasov Dmitry <ender>
Status: CLOSED NOTABUG QA Contact: qa-4.1 <qa-4.1>
Severity: normal    
Priority: P2    
Version: unspecified   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
ldap-cert.pem
none
cacert.pem none

Description redbaron 2009-03-17 16:50:13 MSK
#certtool -i < ldap-cert.pem | grep -i issu
        Issuer: C=RU,ST=State,L=City,O=company,OU=SysAdmin,CN=ca.domain.my,EMAIL=admin@domain.my

#certtool -e --load-ca-certificate cacert.pem < ldap-cert.pem
        Issued by: C=RU,ST=State,L=City,O=company,OU=SysAdmin,CN=ldap.domain.my,EMAIL=admin@domain.my
certtool: Error: The last certificate is not self signed.

В режиме информации он корректно определяет кто выпустил сертификат, а в режиме верификации думает, что выпустил сертификат он сам, но подписи от него самого там не стоит.
Comment 1 Konstantin Pavlov 2009-03-17 17:00:25 MSK
Перевешиваю на мантейнера.
Comment 2 redbaron 2009-03-17 17:07:33 MSK
По openssl verify  проходит все успешно.
Comment 3 Afanasov Dmitry 2009-03-17 17:16:02 MSK
хотелось бы увидеть вывод команд:
openssl x509 -in cacert.pem -text
openssl x509 -in ldap-cert.pem -text
Comment 4 redbaron 2009-03-17 17:35:09 MSK
Created attachment 3376 [details]
ldap-cert.pem
Comment 5 redbaron 2009-03-17 17:36:35 MSK
Created attachment 3377 [details]
cacert.pem
Comment 6 Afanasov Dmitry 2009-03-17 17:56:05 MSK
$ cat ldap-cert.txt cacert.txt > chain.pem
$ certtool -e  < chain.pem
Certificate[0]: C=RU,ST=Tatarstan,L=Kazan,O=Florist.ru,OU=SysAdmin,CN=ldap.florist.my,EMAIL=admin@florist.ru
	Issued by: C=RU,ST=Tatarstan,L=Kazan,O=Florist.ru,OU=SysAdmin,CN=ca.florist.my,EMAIL=admin@florist.ru
	Verifying against certificate[1].
	Verification output: Verified.

Certificate[1]: C=RU,ST=Tatarstan,L=Kazan,O=Florist.ru,OU=SysAdmin,CN=ca.florist.my,EMAIL=admin@florist.ru
	Issued by: C=RU,ST=Tatarstan,L=Kazan,O=Florist.ru,OU=SysAdmin,CN=ca.florist.my,EMAIL=admin@florist.ru
	Verification output: Verified.

также выдержка из certtool --help
     -e, --verify-chain       Verify a PEM encoded certificate chain. 
                              The last certificate in the chain must 
                              be a self signed one.

chain в даном случае это то, что подается на вход. на вход подается ldap-cert.pem, который не заканчивается самоподписанным. отсюда и "ошибка".

закрываю.