Доброго времени суток.
На сервере настроена проверка клиентских сертификатов. Сертификаты подписываются локальным CA.
При использовании curl или firefix проблем нет. Но при использовании openssl s_client - 400 bad request
curl:
curl --key private.key --cert certificate.crt --url "https://megaserver.bz"
openssl pkcs12 -export -in certificate.crt -inkey private.key -out container.p12 -name "client certificate"
- Правка -> Настройки -> Дополнительно -> Шифрование -> Просмотр сертификатов -> Ваши сертификаты -> Импортировать
- перезапуск firefox
- при доступе к megaserver.bz будет предоставлен выбор, какой сертификат использовать. При выборе подходящего сертификата доступ будет предоставлен
openssl: добавляю сертификат CA в /etc/ssl/certs, делаю
c_rehash /etc/ssl/certs
openssl s_client -key private.key -cert certificate.crt -connect megaserver.bz:443 -CApath /etc/ssl/certs/
[...]
GET / HTTP/1.1
HOST: megaserver.bz
HTTP/1.1 400 Bad Request
Server: nginx
И главное в debug логе nginx видно, что s_client даже не пытается слать сертификат.
Кто-нибудь сталкивался? Есть особенности в использовании openssl или nginx?