gpt4 book ai didi

http - 网站 PKSC#11 智能卡身份验证和 SSL 客户端证书

转载 作者:可可西里 更新时间:2023-11-01 15:07:32 24 4
gpt4 key购买 nike

由于某个斯堪的纳维亚国家/地区的法律要求,我们正在为网站创建三因素身份验证。客户使用 NetID 品牌的浏览器插件在浏览器中执行 PKCS #11 证书身份验证。智能卡由客户的合作伙伴集中提供。

该主题没有太多可用的在线资源或教程。有人对如何在 Web 浏览器中进行 PKCS11 身份验证的示例实现或教程有任何指示吗?

编辑:发现关于 SSL 客户端证书

  • 看起来身份验证方法是 SSL 客户端证书

  • 我们如何管理用户与其智能卡之间的关系?

  • 用户是否向我们提供了他们的公钥并且我们根据他们进行身份验证?

  • 我们是否需要使用我们自己的证书分别签署/配置每个用户?

  • 是否所有用户智能卡都包含我们根据提供商证书测试的“通用” key ?

http://www.garex.net/apache/

http://www.impetus.us/~rjmooney/projects/misc/clientcertauth.html

https://en.wikipedia.org/wiki/PKCS11

https://service.secmaker.com/examples/plugin.aspx

最佳答案

不要用 JavaScript 来做。 JavaScript cryptography has a number of problems ,而且我认为没有多少浏览器会让您直接从 JavaScript(从页面内运行)轻松访问 PKCS#11。

许多浏览器支持 PKCS#11 进行 HTTPS 身份验证,即使用 PKCS#11 进行客户端证书身份验证作为 SSL/TLS 连接的一部分(作为 HTTPS 的一部分)。

假设您已经有可用的 PKCS#11 库(假设 OpenSC 在 /usr/lib/opensc.so 中),您可以配置 Firefox 以使用它:

  • 首选项 -> 高级 -> 加密,进入“安全设备”
  • 点击“加载”
  • 选择一个模块名称(供您自己在列表中引用)并指向 /usr/lib/opensc.so 文件(或任何适用于您的情况的 PKCS#11 模块) .

然后,当您连接到请求客户端证书的网站时,浏览器应让您从支持 PKCS#11 的设备中选择一个证书。

PKCS#11 配置机制因浏览器而异,但通常是设置 PKCS#11 模块的路径。

据我所知,Internet Explorer 不使用 PKCS#11(至少在没有额外支持的情况下),而是应该依赖 MS CryptoAPI 和 InfoCards。

在服务器端,您需要配置客户端证书身份验证要求。那里没有特定于 PKCS#11 的内容。


完成编辑后,您应该阅读有关证书颁发机构 (CA) 和公钥基础设施 (PKI) 的内容。您可以部署自己的内部 PKI,但听起来您的要求是与现有 PKI 集成。这主要是一个管理问题,因此请与提出此要求的人核实,看看他们想要依赖哪个 CA(可能是他们自己的)。

当使用客户端证书身份验证时,客户端将出示其证书(其中包含用户的公钥和其他属性,包括一个标识符:主题可分辨名称)并且 SSL/TLS 握手将确保客户端具有私有(private)此公钥证书的 key 。然后,服务器根据它信任的 CA 验证此证书(这也是服务器端的 SSL 设置)。

一旦您配置了您想要信任的 CA,如果需要,通常使用证书的主题 DN 到内部用户名来完成映射。这没有硬性规定,因为它取决于您的内部用户命名方案。也就是说,使用完整的主题 DN 作为用户名通常是明智的。

关于http - 网站 PKSC#11 智能卡身份验证和 SSL 客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8792899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com