2015-05-04 64 views
1

我想为网站实施双向SSL身份验证。我找不到了很多关于这个文档....为网站设置双向SSL身份验证

我想是类似于startssl如果有东西:

  • 创建一个客户端证书,并在浏览器上(注册)安装
  • 检查试图访问某个页面时(登录)SSL客户端证书

我发现这个教程:https://www.scriptjunkie.us/2013/11/adding-easy-ssl-client-authentication-to-any-webapp/,我跟着它一步一步....

这是我尝试的网站:https://cert.devpgsv.com/getacert.php

(的“getacert.php”的代码是在这里:https://cert.devpgsv.com/code.php

(我已经启用访问.htaccess文件中的情况下,它是非常有用的)

我现在的主要问题是:试图生成证书时,浏览器显示:

El servidor a devuelto un certificado de cliente no valido. Error 207 (net:::ERR_CERT_INVALID) 

在谷歌Chrome浏览器中显示错误,但不是在网络连接refox ......

信息:我使用Debian上安装的Apache2。

感谢您的帮助!

回答

0

此警告是一个相当简单的“未定义索引”警告,您在尝试访问不存在的数组密钥时在PHP中获得警告。在检查密钥的值之前,检查密钥是否使用if (array_key_exists('SSL_CLIENT_S_DN_CN', $_SERVER))

+0

我知道它不存在。我不知道的是为什么。 我需要这个值,所以它应该在那里...... 如果我检查密钥是否存在并且失败......那么我如何获得应该在SSL_CLIENT_S_DN_CN中的内容? – DevPGSV

+0

你真的在发送证书吗?因为如果没有,它将不存在。我无法告诉你证书信息如何在$ _SERVER中结束,因为我没有使用这种客户端身份验证方法的经验。 – MueR

1

找到答案!

在较新版本的php中,我一直在寻找的值在默认情况下不存在。这是只有在符合某些条件,有...

我必须在我的.htaccess 添加SSLOptions +ExportCertData +StdEnvVars然后我changd我在那里运行命令,使“WWW的数据”可能geenrate该文件夹的权限证书。