Траблы с ssl сертификатом
Igor Sysoev
is at rambler-co.ru
Sat Aug 22 09:45:17 MSD 2009
On Sat, Aug 22, 2009 at 03:23:31AM +0200, Anton Kuznetsov wrote:
> Ну с порядком сложно ошибиться. К основному я приклеил промежуточные. Их там
> три.
> Обе конторы свои промежуточные конечно присылают вместе с основным - это не
> проблема.
> С глобе все работает. Интересно что делать с godaddy? Вроде как на апаче
> работает, где промежуточные прописываешь отдельной строчкой, в чем трабла на
> nginx?
> Сейчас, когда он работает со склееными сертификатами в один файл, то wget
> ругается на них так:
>
> $wget "https://app.inntelligenz.com/sign"
> --2009-08-22 05:22:19-- https://app.inntelligenz.com/sign
> Распознаётся app.inntelligenz.com... 174.129.210.211
> Устанавливается соединение с app.inntelligenz.com|174.129.210.211|:443...
> соединение установлено.
> ОШИБКА: невозможно проверить сертификат app.inntelligenz.com, запрошенный
> `/C=US
> /ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=
> http://certificates.godaddy.com/
> repository/CN=Go Daddy Secure Certification
> Authority/serialNumber=07969287':
> Обнаружен самостоятельно подписанный сертификат.
>
> Как-то странно все это...
Потому что wget должен знать про эти серфтификаты.
Сейчас "openssl s_client -connect app.inntelligenz.com:443" выдаёт такую
цепочку сертификатов:
Certificate chain
0 s:/O=app.inntelligenz.com/OU=Domain Control Validated/CN=app.inntelligenz.com
i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certificates.godaddy.com/repository/CN=Go Daddy Secure Certification Authority/serialNumber=07969287
1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certificates.godaddy.com/repository/CN=Go Daddy Secure Certification Authority/serialNumber=07969287
i:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
2 s:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
i:/L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy Validation Authority/CN=http://www.valicert.com//emailAddress=info@valicert.com
3 s:/L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy Validation Authority/CN=http://www.valicert.com//emailAddress=info@valicert.com
i:/L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy Validation Authority/CN=http://www.valicert.com//emailAddress=info@valicert.com
У firefox 3.0.13 с чистым профайлом есть второй сертификат
"/C=US/O=The Go Daddy Group, Inc./....". Поэтому доверяет он этой цепочке
и запоминает первый сертификат
"C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./...".
"openssl s_client -connect arjlover.net:443" сейчас выдаёт единственный
сертификат:
Certificate chain
0 s:/OU=Domain Control Validated/OU=Provided by Globe Hosting, Inc./OU=Globe Standard SSL/CN=arjlover.net
i:/C=RO/O=GLOBE HOSTING CERTIFICATION AUTHORITY/CN=GLOBE SSL Domain Validated CA
который не нравится чистому firefox'у, потому что у него нет
"/C=RO/O=GLOBE HOSTING CERTIFICATION AUTHORITY/...". Однако если зайти
на http://globessl.com, то это серфтикат появится и после этого
https://arjlover.net начинает работать.
> Антон.
>
> 2009/8/21 Igor Sysoev <is at rambler-co.ru>
>
> > On Fri, Aug 21, 2009 at 09:27:44PM +0400, Igor Sysoev wrote:
> >
> > > On Fri, Aug 21, 2009 at 06:45:23PM +0200, Anton Kuznetsov wrote:
> > >
> > > > В первый раз ставлю честный купленный сертификат, в большом недоумении
> > от
> > > > результатов.
> > > >
> > > > Купил первый на пробу от globessl.com
> > > > поставил на хомяка https://arjlover.net - почти везде работает, хотя у
> > меня
> > > > на работе не проходит в любом броузере.
> > > >
> > > > Сделал по инструкции от globe:
> > > > #openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out
> > server.csr
> > > >
> > > > в конфиг nginx написал так:
> > > >
> > > > ssl on;
> > > > ssl_protocols SSLv3 TLSv1;
> > > > ssl_certificate /usr/local/etc/nginx/ssl/arjlover_net.crt;
> > > > ssl_certificate_key /usr/local/etc/nginx/ssl/myserver.key;
> > > >
> > > > Ну вроде завелось... nginx version: nginx/0.8.5 FreeBSD 6.3
> > > >
> > > > ===============
> > > > Теперь делаю для апликухи
> > > > https://app.inntelligenz.com/sign
> > > > Все аналогично, купить решил у godaddy.com, сделал сертификаты, те же
> > > > строчки в nginx и... не работает!!! Хотя вчера вечером дома у меня одна
> > > > страница открылась с валидным сертификатом и так и закэшировалась.
> > Остальные
> > > > урлы ругаются. Смех! nginx version: nginx/0.8.6 Ubuntu
> > > > Что делать, куда копать?
> > > >
> > > > Еще один побочный вопрос - что это за файл gd_bundle.crt? Прописывается
> > в
> > > > апач строчкой
> > > > SSLCertificateChainFile /ssl/gd_bundle.crt
> > > > Почему аналогичной строчки нет у nginx?
> > > > Если я все это поднимаю на апаче вот так:
> > > > SSLCertificateFile /ssl/app.inntelligenz.com.crt
> > > > SSLCertificateKeyFile /ssl/myserver.key
> > > > SSLCertificateChainFile /ssl/gd_bundle.crt
> > > >
> > > > То верификация работает!!! Но надо на nginx...
> > >
> > > gd_bundle.crt - это не побочный вопрос, а основной. Нужно сделать так:
> > > cat app.inntelligenz.com.crt gd_bundle.crt > app.inntelligenz.com.full
> > >
> > > и использовать получённую цепочку сертификатов:
> > > ssl_certificate /usr/local/etc/nginx/ssl/app.inntelligenz.com.full
> > >
> > > То же самое нужно повторить с globessl.com - добавить их промежуточные
> > > сертификаты к основному. Тогда должно работать со всеми браузерами.
> >
> > Вот тут берутся промежуточные сертификаты globessl.com:
> >
> > http://customer.globessl.com/knowledgebase/48/GlobeSSL_CA_Root_and_Intermediate_Certificates.html
> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list