3

过去几天我一直在对此进行一些研究,但尚未找到解决方案。我看到了一些建议,其中包括 php Exec() 函数来调用外部应用程序来处理这个问题。我一直在为基于 PHP 的站点寻找类似这样的教程 - http://securitythroughabsurdity.com/2007/04/implementing-smart-card-authentication.html。对此的任何建议或指导将不胜感激。

谢谢,杰瑞

编辑 - 我正在查看这篇文章如何使 php 应用程序需要智能卡身份验证,但这与我的目标不相关。SSLVerifyClient 是否可以与智能卡一起使用?

4

1 回答 1

1

由于许多地方都支持国民身份证,我们在爱沙尼亚大量使用智能卡解决方案。我认为你看起来有点困惑——你不需要 exec()。您需要的是配置您的 Web 服务器(在本例中为 IIS)以向客户端请求证书。这与 PHP 无关。这可以基于路径、子域或类似的方式来完成,这可以是可选的或必需的。例如我们经常配置子域 a la http://id.foobar只能通过 ID 访问。芯片卡只是证书和密钥的载体。通常这无论如何都是“基于客户端的证书”和谷歌。可以配置强制或可选的客户端证书要求。强制更安全,因为没有身份证的人没有机会看到您服务器上的任何内容。但这也有缺点 - 他们也看不到您的任何错误消息。我们经常使用可选需求。在 PHP 方面,您只会收到某种环境变量。你需要检查他的内容。您可以通过 Google 搜索 SSL_CLIENT_S_DN 来获得搜索结果。这是您在使用 Apache Web 服务器时获得的变量名称。关于 IIS 我一无所知,但基本原理相同,只是变量和配置选项的名称不同。

于 2012-06-08T08:22:26.743 回答