PKCS#11如何在浏览器中为网站提供客户端身份验证?

问题描述 投票:0回答:1

我有一个网站,要求我插入PKCS#11 USB记忆棒(如果重要的话,请输入SafeNet eToken 5110),然后按一下按钮,它会自动使用该记忆棒进行身份验证。这似乎没有任何Chrome插件或任何工具(在Windows上)就可以使用。

这在协议和API级别上如何工作,以使其完全自动化?我对浏览器和网站之间以及浏览器和与令牌通信的Windows API之间的流感兴趣。我对此很感兴趣,因为我想评估我的选项(库以及如何使用/集成它们),以执行可以使用该记忆棒进行身份验证的https请求。

谢谢!

ssl https smartcard pkcs#11
1个回答
-1
投票

看起来根本没有集成。当TLS要求提供客户端证书时,由客户端决定从何处获取证书,因此这完全取决于您使用的TLS客户端库。 Chrome浏览器使用NSS C ++库(来自Firefox),该库使用Windows Crypto API来请求证书,该证书又会向USB记忆棒的所谓PKCS#11微型驱动程序请求证书。

不确定插入时存储棒是否只是将客户端证书注册到Windows证书存储中,还是直接在TLS流中要求其提供证书。

[OpenSSL的工作方式不同:它具有一个使用OpenSC来访问PKCS#11密钥的插件,因此它无法与Windows上Stick的供应商微型驱动程序一起使用。

(所以这个答案是不完整的:一旦发现更多,我将对其进行更新)。

© www.soinside.com 2019 - 2024. All rights reserved.