1 (изменено: Navishok, 2009-03-12 12:13:58)

Тема: Как правильно настроит Appache чтоб он принимал любой Сертификат

Я хочу настроит Apache чтоб он принимал все пользовательские сертификаты независимо от происхождение, правильности. То есть моя задача просто получит сертификат $_SERVER[’SSL_CLIENT_CERT’] виде напримере так
-----BEGIN CERTIFICATE-----
MIID8DCCAtigAwIBAgIBAjANBgkqhkiG9w0BAQUFADCBhjELMAkGA1UEBhMCREUx DDAKBg
NVBAgTA05SVzETMBEGA1UEBxMKTGFuZ2VuYmVyZzETMBEGA1UEChMKRmls
[lots of stuff omitted]
gzsp6IP+dagFEuv0pN30UUInNT1FriGwFyctZvBKu+Ybb/QJLJV74lLW8d7d8CNX ikFwug==
-----END CERTIFICATE-----
и передат его на проверку другому серверу. Но пока первая задача просто получит сертифика и и это у меня не получается.

пока я изменил httpd-ssl.conf
<VirtualHost _default_:443>
SSLEngine on
ServerSignature On
SSLCipherSuite ALL:!ADH:!EXPORT56:!EXPORT40:RC4+RSA:!SSLv2:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLOptions +StdEnvVars +ExportCertData
SSLVerifyClient optional_no_ca
SSLCertificateFile conf/ssl.crt/server.crt
SSLCertificateKeyFile conf/ssl.key/server.key
SSLCACertificatePath conf/
</VirtualHost>

Теперь у меня отображается в INternet Explore все существующие браузерские сертификаты. Выбираю один и отправляю на этот скрипт https://localhost/testldap.php
где скрипт
<?php
$ssl=openssl_x509_parse($_SERVER[’SSL_CLIENT_CERT’]);
print_r($ssl);
?>

Но к сожалению $_SERVER[’SSL_CLIENT_CERT’] или другие параметры $_SERVER[’SSL_SERVER_CERT’] пустые. Народ подскажите плиз как это можно решить

2

Re: Как правильно настроит Appache чтоб он принимал любой Сертификат

Navishok
К сожалению, я не в состоянии здесь чем-то помочь. Надеюсь найдутся люди, чтобы подсказать решение.

3 (изменено: Navishok, 2009-03-17 14:16:16)

Re: Как правильно настроит Appache чтоб он принимал любой Сертификат

I am trying to get user certificate by $_SERVER[’SSL_CLIENT_CERT’] and send it to another web server for authentication.
So far I changed httpd-ssl.conf to accept any user certificate
<VirtualHost _default_:443>
SSLEngine on
ServerSignature On
SSLCipherSuite ALL:!ADH:!EXPORT56:!EXPORT40:RC4+RSA:!SSLv2:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLOptions +StdEnvVars +ExportCertData
SSLVerifyClient optional_no_ca
SSLCertificateFile conf/ssl.crt/server.crt
SSLCertificateKeyFile conf/ssl.key/server.key
SSLCACertificatePath conf/
</VirtualHost>

My clients internet explore shows all the availbale certificates when they access my https://localhost/ server. They choose one and submit it to https://localhost/testldap.php.
Where scripts are
<?php
$ssl=openssl_x509_parse($_SERVER[’SSL_CLIENT_CERT’]);
print_r($ssl);
?>

But here $_SERVER[’SSL_CLIENT_CERT’] and other $_SERVER[’SSL_SERVER_CERT’] parameters are empty. I don;t know why. Please help me to solve it!!!
My original task is to develop login page by using public key infrastructure. But the server which issues the client's private key is not my organization.
And I am only allowed to connect their web server by sending the user's client certificate (who logged in my web site) and getting the information about my user's certificate