使用来自 Web 的 USB 令牌进行数字签名

Posted

技术标签:

【中文标题】使用来自 Web 的 USB 令牌进行数字签名【英文标题】:Digital signature using USB token from web 【发布时间】:2018-04-24 02:04:04 【问题描述】:

我想使用 USB 令牌上的证书对哈希进行签名。 我找到了hwcrypto javascript 库,它应该能够做到这一点,以及browser extension 或安装的应用程序。我已经安装了所有要求,然后创建了一个调用 javascript 库的页面。

SCS.sign(handleResponse,request); 

窗口打开,但不幸的是,没有找到证书(即使可以在浏览器设置中看到证书)。可能是什么问题?

【问题讨论】:

您确定您拥有(并且可以访问)与证书关联的私钥吗?否则不能签名。 你用的是哪个浏览器?,你能用IE试试吗? 你使用什么服务器端?最好在服务器端做,就像 php 有很多函数来处理它。除此之外,您还定义了一个名为 PKCS#11 的接口来处理这些事情。也看看这个答案,***.com/questions/8792899/… 另一种可能是JAVA。我知道这并不能回答这个问题,但只是 JS 中的这些函数是实验性的。看看Java,或许对你有帮助:docs.oracle.com/javase/7/docs/api/java/security/cert/… @MarioZamora 没关系,如果我可以使用 Internet Explorer 对其进行签名,那么我将使用 IE。 【参考方案1】:

请参考web-eid documentation

搜索词“过滤器” - 这里显示“默认是符号”

请确保您的 USB 令牌具有签名类型证书,并且可能会对证书有效性进行内部检查 - 检查您是否拥有“未过期”和“签名类型”证书。

【讨论】:

以上是关于使用来自 Web 的 USB 令牌进行数字签名的主要内容,如果未能解决你的问题,请参考以下文章

数字签名流程的策略?

JSON Web 令牌 (JWT) - 验证客户端

如何跨不同 API 对 JSON Web 令牌 (JWT) 进行身份验证?

每个 .exe 代码签名操作都需要 Digicert USB 令牌吗? (EV代码签名证书)

为啥要使用环境变量对 JSON Web 令牌 (JWT) 进行签名?

无法使用 DocuSign Python 代码生成 jwt 令牌