2012-01-10 475 views
0


我正在拉用户证书并尝试使用他们的信息登录它们。这是迄今为止我所拥有的。使用PHP运行Apache我能够回显$ _SERVER变量,该变量是一个数组,其中包含有关用户的各种信息,包括我假设的客户端证书。openssl_x509_parse返回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

重新审视这个问题之后事实证明,我需要将下面的行添加到Apache的httpd.conf文件

SSLOptions +StdEnvVars +ExportCertData 

希望帮助别人。