Добрый день! Есть задача сделать вход на сайт при помощи сертификата. HTTPS запустился на ура, сертификаты сгенерированы внутридоменным центром сертификации и валидны. Но вот авторизация пользователя с помощью сертификата не хочет работать не в какую
Конфиг
CentOS 5.10
apache 2.2.3
OpenSSL 0.9.8e-26.el5_9.1
Конфиг mod_ssl
cat ssl.conf
LoadModule ssl_module modules/mod_ssl.so
Listen 4430
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
Конфиг виртуального хоста
cat test.conf
<VirtualHost *:4430>
SSLEngine on
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/pki/tls/certs/abk.pem
SSLCertificateKeyFile /etc/pki/tls/private/abk.key
SSLCACertificateFile /etc/pki/tls/certs/CA.cer
SSLOptions -OptRenegotiate
SSLInsecureRenegotiation On
ServerAdmin admin@stn.kz
DocumentRoot /var/www/html/abk/
<Directory /var/www/html/abk/>
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 1
AllowOverride
</Directory>
ServerName abk.test.kz
LogLevel debug
ErrorLog logs/abk
CustomLog logs/access_abk common
</VirtualHost>
Логи
[Tue Dec 10 10:55:04 2013] [error] Re-negotiation handshake failed: Not accepted by client!?
Гугление вывело только на то что после патча CVE-2009-3555 Эта фишка работать не будет. Нарывался правда и на статьи, где описано что будет работать если добавить опцию SSLInsecureRenegotiation On. но полных конфигов не приведено. Помогите, куда копать.
"Name-based virtual hosting cannot be used with SSL secure servers because of the nature of the SSL protocol"
Я понимаю это так что должен быть только один сайт.
Попробуй добавить в httpd.conf
SSLProtocol all -SSLv2 SSLVerifyClient none
Затем перенеси SSLVerifyClient require из <Directory /var/www/html/abk/> в описание хоста и перезапусти апача.
Я как-то игрался с этим на дебиане, мне что-то из этого помогло, но IE так и не захотел.
Спасибо, Ваш ответ был очень полезен в дальнейшем разборе ошибок. Отключил SSLv2 и перенес SSLVerifyClient require из <Directory /var/www/html/abk/> в описание хоста. После небольших танцев с бубном все запустилось даже с IE(если отключить у него в безопасности протокол SSLv2)
И впринципи SSL работает на виртуальном хосте, не трогая другие. тут проблем нет.
Еще одна тонкость. Главное правильно сгенерировать сертификат клиента и сертификат сервера.
Цитата: SnakeS_Cobra от 12 Декабря 2013, 09:58Главное правильно сгенерировать сертификат клиента и сертификат сервера.
Это уже само собой :)