要使用 SmartCard 身份验证制作 React 应用程序,我应该使用 pkcs11 吗?

Posted

技术标签:

【中文标题】要使用 SmartCard 身份验证制作 React 应用程序,我应该使用 pkcs11 吗?【英文标题】:To make a React app with SmartCard authentication, Shoud I use pkcs11? 【发布时间】:2019-11-29 12:07:06 【问题描述】:

我正在构建一个带有 Substrate(Rust 中的区块链框架)后端的 Webapp(可能会做出反应)。我想允许用户使用智能卡签名和验证他们的帐户。

Pkcs15-tool 与我计划使用的智能卡类型完美配合,我听说 pkcs11 是用于软件开发而不是 pkcs15-tool 的 api。(如果我错了,请纠正我)

如何使用 React Web 应用程序实现智能卡身份验证? pkcs11 是正确的方法吗?我真的是智能卡的初学者。

【问题讨论】:

检查这个答案是否有帮助:***.com/a/55757349/9659885 【参考方案1】:

是的,PKCS#11 通常是答案。 PKCS#11 是独立于平台的标准化中间件,用于与加密令牌通信。加密令牌是保存密钥(和其他)对象的令牌,其中密钥对象可以使用,但不能提取。智能卡是加密令牌的一种形式,HSM 是另一种形式。

用于身份验证的密钥显然可以通过 PKCS#11 存储并用于签名生成。同样,可以使用 PKCS#11 检索通常围绕 public 密钥构建的证书。当然还有其他标准可以使用,例如 OpenPGP 和 PGP 兼容卡。专有协议也是一种选择,但您必须想出一个非常复杂的协议才能使用多个身份验证设备。也就是说,更高级别的身份验证协议可能正是您所需要的。

不幸的是,我不知道如何在没有自己研究的情况下使用 React 来实现它,并且要求我们帮助您为特定运行时设计/实现一个系统对于 *** 来说是非常广泛的。

【讨论】:

以上是关于要使用 SmartCard 身份验证制作 React 应用程序,我应该使用 pkcs11 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Keycloak 和 PKCE 流实现 React SPA 身份验证?

无法将 SmartCard 与 winscard.dll 连接?

如何使用 WebAPI 制作 HTML5 视频标签、承载身份验证?

如何制作和使用基于 JWT 角色的身份验证?

如何在 laravel 5.8 或 6 中制作通用自定义包进行身份验证。*

如何使用身份验证或注册、登录和注销来制作 React Native 和 Graphql 应用程序