2015-12-28 2 views
1

El problemo: Я хочу иметь собственный CA и выдавать подписанные сертификаты, которые могут быть использованы для тестирования приложений Android и веб-служб REST через HTTPS. Мой сервер выбора является Tomcat 7. я следовал указаниям для настройки SSL с использованием Keytool на Tomcat в соответствии с Installing a Certificate from a Certificate Authority section своей документации:Действительный сертификат SSL, подписанный собственным CA

keytool -genkey -alias tomcat -keystore keystore.jks 
keytool -certreq -alias tomcat -file certreq.csr -keystore keystore.jks 

Чтобы подписать запрос на сертификат знака я использую OpenSSL:

openssl ca -config openssl.cnf -out server.crt -extensions android_ext \ 
-extfile android_ext.cnf -md sha256 -infiles certreq.csr 

и, наконец, я импортировать сертификат ЦС и сертификат сервера в хранилище ключей:

keytool -import -alias root -keystore keystore.jks -trustcacerts -file cacert.crt 
keytool -import -alias tomcat -keystore keystore.jks -file server.crt 

После того, что я себе tup tomcat использовать keystore.jks и запустить его. Если я пойду в Firefox и попытаюсь перейти с помощью https, я получу ошибку «Безопасное соединение с ошибкой».

Запуск openssl s_client Я получаю this output.

Запуск keytool -printcert Я получаю this output.

И если я бегу openssl verify -CAfile .\ca\cacert.pem .\server.crt я получаю:

\ server.crt:. OK

Насколько мне известно, по SSL и сертификаты идти я не могу найти, почему, когда я иду через Firefox Я получаю сообщение об ошибке. Самое интересное, что использование Chrome дает мне ошибку «Сброс соединения».

Мне нужна помощь, которая может быть неправильной? Есть предположения?

+0

Вы используете браузер на том же компьютере, который выдавал и импортировал клиента, или с другого компьютера? – Cahit

+0

Я пробовал оба варианта с одинаковыми результатами. Я в локальной сети, хотя - все адреса 192.168.0.xxx. – Grasshopper

+0

Похоже, вы в Windows. Вы пытались установить сертификаты в Windows с помощью диспетчера сертификатов (путем ввода certmgr.msc в поле поиска)? – Cahit

ответ

0

La Soluzione

Таким образом, после двух дней, пытаясь понять, что мог бы пошло не так - я отправил здесь в крайнем случае - коллега отметил, что Chrome будет постепенный отказ от SHA1 сертификаты - посмотреть на this , this и this. И, по-видимому, открывают значки с sha1 по умолчанию. Так что это просто вопрос создания нового сертификата для ЦС с более сильной подписью и подписания его снова. Вот команды для справок:

openssl req -new -key .\private\cakey.pem.old -out .\ca\ca.csr -sha256 -config openssl.cnf 
openssl x509 -req -days 8052 -sha256 -in .\ca\ca.csr -signkey .\private\cakey.pem -out ca\cacert.pem