【问题标题】:To make a React app with SmartCard authentication, Shoud I use pkcs11?要使用 SmartCard 身份验证制作 React 应用程序,我应该使用 pkcs11 吗?
【发布时间】:2019-11-29 12:07:06
【问题描述】:
我正在构建一个带有 Substrate(Rust 中的区块链框架)后端的 Webapp(可能会做出反应)。我想允许用户使用智能卡签名和验证他们的帐户。
Pkcs15-tool 与我计划使用的智能卡类型完美配合,我听说 pkcs11 是用于软件开发而不是 pkcs15-tool 的 api。(如果我错了,请纠正我)
如何使用 React Web 应用程序实现智能卡身份验证? pkcs11 是正确的方法吗?我真的是智能卡的初学者。
【问题讨论】:
标签:
reactjs
smartcard
pkcs#11
contactless-smartcard
substrate
【解决方案1】:
是的,PKCS#11 通常是答案。 PKCS#11 是独立于平台的标准化中间件,用于与加密令牌通信。加密令牌是保存密钥(和其他)对象的令牌,其中密钥对象可以使用,但不能提取。智能卡是加密令牌的一种形式,HSM 是另一种形式。
用于身份验证的密钥显然可以通过 PKCS#11 存储并用于签名生成。同样,可以使用 PKCS#11 检索通常围绕 public 密钥构建的证书。当然还有其他标准可以使用,例如 OpenPGP 和 PGP 兼容卡。专有协议也是一种选择,但您必须想出一个非常复杂的协议才能使用多个身份验证设备。也就是说,更高级别的身份验证协议可能正是您所需要的。
不幸的是,我不知道如何在没有自己研究的情况下使用 React 来实现它,并且要求我们帮助您为特定运行时设计/实现一个系统对于 StackOverflow 来说是非常广泛的。