PHP+HTTPS - как распознать сертификат?
От: _snaky Россия  
Дата: 18.03.04 15:00
Оценка:
Поднял сервер: Apache2+PHP+OpenSSL.
Настроил так, чтобы при установке соединения через https сервер требовал от клиента личный сертификат. Все отлично работает.
Вопрос:
Как можно распознать клиентский сертификат в php-скрипте, т.е. однозначно определить, кому принадлежит этот сертификат? Это необходимо для того, чтобы можно было разграничивать доступ к ресурсу среди его пользователей.
Re: PHP+HTTPS - как распознать сертификат?
От: Vanja  
Дата: 18.03.04 22:15
Оценка:
вопрос к тебе
как ты привязал опенссл к аапчь2, под винду или юникс?
и как заставил запрашивать сертификат?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[2]: PHP+HTTPS - как распознать сертификат?
От: _snaky Россия  
Дата: 19.03.04 05:39
Оценка: 2 (1)
Здравствуйте, Vanja, Вы писали:

V>вопрос к тебе

V>как ты привязал опенссл к аапчь2, под винду или юникс?
V>и как заставил запрашивать сертификат?

Под винду.
Скачал и поставил вот это:
http://hunter.campbus.com/Apache_2.0.48-Openssl_0.9.7d-Win32.zip
http://hunter.campbus.com/Openssl-0.9.7d-Win32.zip

По настройке всего этого в инете ищи. Там много всяких тонкостей.

Личный сертификат запрашивается так:
(httpd.conf или .htaccess)
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 1
Re[3]: PHP+HTTPS - как распознать сертификат?
От: Vanja  
Дата: 19.03.04 08:11
Оценка:
ты скажи хотябы от чего ты копал?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re: PHP+HTTPS - как распознать сертификат?
От: Vanja  
Дата: 19.03.04 10:06
Оценка:
можешь подскажешь где об этом почитать?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[2]: PHP+HTTPS - как распознать сертификат?
От: _snaky Россия  
Дата: 19.03.04 10:15
Оценка:
Здравствуйте, Vanja, Вы писали:

V>можешь подскажешь где об этом почитать?


http://tud.at/programm/apache-ssl-win32-howto.php3
http://www.spymac.ru/index.php/article/1
http://www.bruy.info/ssl.html
http://unix.soft.lv/docs/OpenBSD/Tutorials/https.html
Re[3]: PHP+HTTPS - как распознать сертификат?
От: Vanja  
Дата: 19.03.04 10:20
Оценка:
ну это то что касаеться просто использования ssl+apache
а не ту тему которую ты понднимал апачь+ssl, с запросом сертификата у клиента, а не у сервера.
по этмоу поводу есть линки мысли ил ещё что то?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[4]: PHP+HTTPS - как распознать сертификат?
От: _snaky Россия  
Дата: 19.03.04 10:34
Оценка:
Здравствуйте, Vanja, Вы писали:

V>ну это то что касаеться просто использования ssl+apache

V>а не ту тему которую ты понднимал апачь+ssl, с запросом сертификата у клиента, а не у сервера.
V>по этмоу поводу есть линки мысли ил ещё что то?

В тех ссылках это тоже есть.
Сертификат у сервера есть всегда. У коиента может и не быть. Как сделать так, чтобы сервер требовал коиентский сертификат я уже писал.
Re[5]: PHP+HTTPS - как распознать сертификат?
От: Vanja  
Дата: 19.03.04 10:38
Оценка:
куда именно в httpd.conf вставить те 3 строки?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[6]: PHP+HTTPS - как распознать сертификат?
От: _snaky Россия  
Дата: 19.03.04 10:46
Оценка:
Здравствуйте, Vanja, Вы писали:

V>куда именно в httpd.conf вставить те 3 строки?


<VirtualHost server.ru:443>
SSLEngine On
SSLCertificateFile d:/certs/server.crt
SSLCertificateKeyFile d:/certs/ca.crt
SSLVerifyClient require
SSLVerifyDepth 1

ServerName server.ru
DocumentRoot "d:/_server/www"
</VirtualHost>
Re[7]: PHP+HTTPS - как распознать сертификат?
От: Vanja  
Дата: 19.03.04 11:06
Оценка:
так замечательно
большое спасибо
и последний вопрос
как для клиента сертификат делать и устанавливать?
перерыл ещё раз твои линки так и не нашел(неверное плохосмотрел)....
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[8]: PHP+HTTPS - как распознать сертификат?
От: _snaky Россия  
Дата: 19.03.04 11:32
Оценка:
Здравствуйте, Vanja, Вы писали:

V>так замечательно

V>большое спасибо
V>и последний вопрос
V>как для клиента сертификат делать и устанавливать?
V>перерыл ещё раз твои линки так и не нашел(неверное плохосмотрел)....

Слушай, какой же ты лентяй
И смотрел плохо, и нового не искал.
Дело в том, что так быстро я тебе об этом не расскажу (довольно запутанная вещь), а времени у меня мало.
Даю тебе голые коммандные строки:

openssl genrsa -des3 -out username.key 2048
openssl req -new -config cfg -key username.key -out username.csr
openssl x509 -req -days 365 -in username.csr -out username.crt -CA ca.crt -CAkey ca.key
openssl pkcs12 -export -in username.crt -inkey username.key -out username.p12 -name "Client serificate from CA"

P.S. Из-за тебя мы сильно отошли от темы моего первого поста. На мои проблемы уже внимания никто не обратит
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.