我正在提取用户证书并尝试使用他们的信息登录。这就是我到目前为止所拥有的。使用PHP在Apache上运行我能够回显$ _SERVER变量,该变量是一个包含有关用户的各种信息的数组,包括我假设的客户端证书。
我甚至可以运行以下命令:
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 ----- 因为好像证书只是一长串的文字。
提前致谢!
答案 0 :(得分:1)
重新审视问题后,我发现需要将以下行添加到Apache httpd.conf文件中
SSLOptions +StdEnvVars +ExportCertData
希望能有所帮助。