Здравствуйте, уважаемые профи!
Возник вопрос (точнее наверное два ).
Подняли NGinx для доступа к одному из защищаемых ресурсов. Сделал двустороннюю аутентификацию. Прикрутил ГОСТ. Все взлетело. НО... появилась проблема. Когда использую сертификаты, выданные собственным УЦ, где root CA самоподписаный - все нормально летает авторизуется... все гуд. Беда в том, что для авторизации надо использовать сертификаты ЭП, выданные УЦ нашей вышестоящей организации, а там root CA подписан промежуточным сертификатом УЦ минкозвязи, который в подписан сертификатом головного УЦ минкомсвязи (он самоподписанный). В таком случае у клиента происходит запрос сертификата, причем список сертификатов правильный. НО после выбора сертификата ошибка 400 - и все. Пробовал catом слеплять сертификаты в разной последовательности, пробовал в ssl_trusted_certificate накидывать .... ничего. У клиента все сертфикаты установлены.
Вот конфиг
server {
listen 443 ssl;
server_name tls.oepak22.ru;
ssl_certificate /etc/nginx/serts/server.crt;
ssl_certificate_key /etc/nginx/serts/server.key;
large_client_header_buffers 4 16k;
ssl_ciphers GOST2001-GOST89-GOST89:HIGH:MEDIUM;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_protocols TLSv1;
ssl_prefer_server_ciphers on;
ssl_client_certificate /etc/nginx/serts/ca1.crt;
#ssl_client_certificate /etc/nginx/serts/xcc.crt;
ssl_crl /etc/nginx/serts/crl.pem;
ssl_verify_client on;
keepalive_timeout 70;
location / {
root /www/;
index index.html;
}
location /deloweb {
proxy_pass http://10.33.1.7/deloweb;
}
PS. Оговорюсь сразу, что server.crt выдан как раз таки УЦ, который тестовый и самоподписанный root CA. Нет ли ничего в этом криминального, что сертификат сервера и сертификат клиентов выданы разными УЦ.
И еще вопрос: возможно ли использовать одновременно несколько ssl_client_certificate? Актуально потому, что у нас в регионе несколько УЦ.