2012-01-10 2 views
0


Я вынимаю сертификат пользователя и пытаюсь использовать их информацию для входа в систему. Это то, что у меня есть до сих пор. Запуск на Apache с PHP Я могу повторить переменную $ _SERVER, которая представляет собой массив, который содержит разнообразную информацию о пользователе, включая то, что я принимаю как сертификат клиента.openssl_x509_parse return false

Я даже смог выполнить следующую команду:

echo($_SERVER['HTTP_SSL_CLIENT_CERT']);

линия выше выводит все:

-----BEGIN CERTIFICATE---- BLAH...BLAH...BLAH -----END CERTIFICATE-----

Однако если выполнить следующую команду:

$cert_data = openssl_x509_parse($_SERVER['HTTP_SSL_CLIENT_CERT']);

Он возвращает false, и я не могу ничего извлечь из этого.

Я пробовал: openssl_x509_read и безрезультатно.

мне интересно, если мне нужна новая линия после:
----- BEGIN CERTIFICATE ----- , потому что кажется, как будто сертификат только один большая длинная строка текста.

Заранее благодарен!

ответ

1

После пересмотра проблемы выясняется, что мне нужно добавить следующую строку в файл httpd.conf Apache

SSLOptions +StdEnvVars +ExportCertData 

Надежда, что помогает кому-то.