通过浏览器访问ePass2003 Auto令牌

2024-01-06

我已经加载了带有自签名证书的 ePass2003 Auto 令牌。我将 lib**.so 文件加载到 Firefox 中,现在 Firefox 可以在令牌中列出证书。我的要求是访问密钥库以进行签名、加密和解密,即用于对其进行加密操作的公钥和私钥。我可以请求有关 javascript API 的指导来执行上述加密操作吗?


披露:我在 CISPL 工作

要访问 ePass2003 或任何智能卡或加密 USB 令牌,您需要使用浏览器扩展。据我所知,浏览器可能会使用加密设备中的密钥进行 TLS 握手。我公司提供这样的扩展Signer.Digital 浏览器扩展. Chrome https://chrome.google.com/webstore/detail/signerdigital/glghokcicpikglmflbbelbgeafpijkkf and Firefox https://stackoverflow.com/a/63173083/9659885

Windows 主机可以从以下位置下载https://signer.digital/downloads/Signer.Digital.Browser.Extension.Setup.msi https://signer.digital/downloads/Signer.Digital.Browser.Extension.Setup.msi

在 Windows 上,我们不需要 PKCS#11,但我们使用 Windows CSP。因此,必须在 Windows 客户端设备上安装 USB 令牌驱动程序才能通过 Web 浏览器运行。 lib**.so 文件不适用于 Windows,但适用于 Linux。

Linux 主机使用此 .so 文件和 PKCS#11 来完成任务,但这对 ePass2003 用户是透明的,主机应用程序会处理此问题。

我的要求是访问密钥库以进行签名、加密和解密,即用于对其进行加密操作的公钥和私钥。我可以请求有关 javascript API 的指导来执行上述加密操作吗?

我列出的 javascript API(Signer.Digital 版本 1.8.0)提供以下承诺:

  1. 选择证书:这将打开弹出窗口以选择证书。可以提供 cert ThumbPrint 参数来静默选择证书。

SignerDigital.getSelectedCertificate(certThumbPrint = "", showExpired = false, keyUsageFilter = 128)

密钥使用过滤器值将按照 System.Security.Cryptography.X509Certificates.X509KeyUsageFlags Enum 进行,并且可以添加(求和)多个值。

  1. 签名哈希:

SignerDigital.signHash(hash, certAlgorithm, certThumbPrint = "")

  1. 签署 Authtoken/数据:计算数据的哈希值,然后对哈希值进行签名。

SignerDigital.signAuthToken(authtoken, certAlgorithm, certThumbPrint = "", showExpired = false)

证书算法是要使用的哈希算法。例如:“SHA256”或“SHA-256”

显示已过期此处可以使用标志来允许用户仅使用过期的证书登录,并仅提供对用户可以上传新证书的区域的访问权限。

  1. Sign PDF https://stackoverflow.com/a/55676351/9659885:- 返回 PKCS7 签名容器

SignerDigital.signPdfHash(hash, certThumbPrint, certAlgorithm)

SignerDigital.signHashCAdESBr(hash, certThumbPrint, certAlgorithm)//对于巴西 ICP

PDF 签名和基于数字签名的身份验证的工作可以在以下位置进行测试:https://web.signer.digital/ https://web.signer.digital/

  1. 签署 XML:

SignerDigital.signXML(xmlDoc, xmlSignParms, certThumbPrint)

xmlSignParms 具有更广泛的参数,我们根据努力提供集成支持。

  1. RSA 加密:(使用用户的私钥)

SignerDigital.encryptB64Data(b64Data, useOAEPPadding, certThumbPrint = "", showExpired = false, keyUsageFilter = 32)

Example:

var strToEnc = "Clear Text String to Encrypt.";
var strB64Data = btoa(strToEnc);
console.log("Base64 String of Clear Text String: " + strB64Data);

//Do not provide last parm - certThumbPrint to open dialog to select certificate.
SignerDigital.encryptB64Data(strB64Data, false, "224D7F695ABF0E22EA8D314497F5B56AEFA96FFE") //false for PKCS1 padding, true for OAEP padding
  .then(
    function(EncryptedB64String) { //Success returns xmlSign
      console.log("Encrypted Base64 String: " + EncryptedB64String);
      console.log("Encrypted String: " + atob(EncryptedB64String));
    },
    function(ErrMsg) {
      console.log(ErrMsg);
    }
  )
  1. RSA解密:(使用用户的私钥)

SignerDigital.decryptB64Data(b64Data, useOAEPPadding, certThumbPrint = "", showExpired = false, keyUsageFilter = 32)

Example:

console.log("Encrypted B64 string from server: " + EncB64String);
SignerDigital.decryptB64Data(EncB64String, false, "224D7F695ABF0E22EA8D314497F5B56AEFA96FFE")
  .then(
    function(DecryptedB64String) { //Success returns xmlSign
      console.log("Decrypted Base64 String: " + DecryptedB64String);
      console.log("Decrypted String: " + atob(DecryptedB64String));
    },
    function(ErrMsg) {
      console.log(ErrMsg);
    }
  )
},
error: function(msg) {
  console.debug(msg);
}
  1. 签署 IT/eTDS 退货:(签署印度所得税/eTDS 申报表 - 与 signHash 方法相同,但附加可选参数除外:PAN)

SignerDigital.signITHash(hash, PAN, certThumbPrint = "")

将 PAN 传递为空白以打开“选择证书”对话框。如果 PAN 非空,并且存在 PAN 证书,则将静默选择证书。

  1. 签署内容管理系统:(数字签名印度 GST 申报表)

SignerDigital.signHashCms(hash, certAlgorithm, certIncludeOptions = 2, certThumbPrint = "")

使用方法SignerDigital.signHashCAdESBr巴西 ICP 签名 和方法SignerDigital.signHashCAdESEg用于埃及 ITIDA CAdES-BES 签名。

  1. 签署 IceGate 数据:(签署 IceGate - 印度海关数据 - Json、文本、XML)

SignerDigital.signIceGate(b64Data, certThumbPrint = "")

2021 年 7 月添加以下 API 供认证机构使用(CA 需要使用 Signer.Digital 浏览器扩展进行注册)

  1. 检测连接的智能卡:(自动检测连接的智能卡或 USB 令牌)

SignerDigital.getPCSCReaders(onlyConnected = true)//列出PCSC读卡器,如果要列出所有可用的读卡器,请将参数设置为false

  1. 生成企业社会责任:(适用于智能卡或 USB 令牌中的证书注册)

SignerDigital.genCSR(PKCS11Lib, certSubject, certIssuer, keyBits = 2048, hasgAlgorithm = "SHA256", forceUserPinChangeIfDefault = false)

  1. 导入/下载证书(将用户证书和信任证书链导入智能卡或 USB 令牌)

SignerDigital.importCer(PKCS11Lib, b64Payload, certIssuer)

有关更多详细信息,代码示例自动智能卡检测, genCSR and 导入证书 refer 用流程图回答 https://stackoverflow.com/a/68556286/9659885

2021 年 6 月更新

Signer.Digital 浏览器扩展主机版本 1.7.0 现在通过询问用户尝试访问证书/密钥的允许来源(网站)来提供更好的用户控制以增强安全性。此外,此版本还具有自动更新功能,以便用户在通过用户帐户控制对话框批准更新后自动获取任何安全更新/增强功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过浏览器访问ePass2003 Auto令牌 的相关文章

  • 这是 Firefox 中的错误还是 chrome 主动修复了我做错的事情?

    当麦克风的信号超过设定的阈值时 下面的代码只是将一个框变成红色 它在 Linux 上的 chromium 和 Windows 上的 chrome 上快乐地运行一整天 它在两个平台上的 Firefox 上也运行良好 大约 15 秒 当它在 F
  • 如何在亚马逊云(AWS EC2)中安装firefox?

    我有一个拥有所有权限的 AWS 账户 我想在环境中安装 Firefox 因为我的应用程序将启动 Firefox 并对 Web 应用程序运行一些测试 如何安装火狐浏览器 执行以下命令解决了问题 sudo apt get install xvf
  • 在PC上的Firefox上模拟Android的Webview?

    作为我的软件开发工作 针对 Android 的一部分 我需要在通过 Android 的 WebView 查看时检查大量 HTML 页面的内容 到目前为止 我已经能够通过将 HTML 内容转储到文件中来实现这一点 data data
  • Firefox 无法识别字体

    我正在设计样式pre通过 CSS 的 HTML 元素如下所示 pre font family Franklin Gothic Medium Arial Narrow Bold Arial sans serif 它可以在 Chrome Chr
  • Firefox 和 JavaScript 重定向

    我目前在使用 Firefox 时遇到问题 所有其他浏览器都以正确的方式运行 甚至 IE6 我想要做的是重定向到子页面但留下历史记录条目 据我所知 有两种重写url的方法 window location some url 重定向到带有历史记录
  • Firebug 说“此页面上没有 Javascript”,即使页面上确实存在 JavaScript

    为什么Firebug说有No Javascript on this page当页面上明显有 JavaScript 负载时 我什至多次重新加载页面以确保但它仍然显示相同的消息 它以前从来没有这样做过 但突然间它就行为不当了 是因为某些配置问题
  • PyKCS11 不可哈希列表

    我的 python 脚本旨在获取特定 so 库中插槽 令牌的详细信息 输出如下所示 Library manufacturerID Safenet Inc Available Slots 4 Slot no 0 slotDescription
  • 如何在 Java 中将 Firefox 配置文件和 Firefox 选项与 Selenium 一起使用

    我正在编写一个我想要无头的测试 它还将使用 Selenium 在 java 中下载文件 从here https stackoverflow com questions 63143518 org openqa selenium timeout
  • 视频回退到 Flash 在 Firefox 中不起作用

    我一直在审查有关开发人员向其 HTML5 网站添加 Flash 后备的不同方式的材料 我有这个带有虚拟视频的测试代码
  • 绝对元素后面元素上的文本选择

    我有一个覆盖元素 它隐藏了其他包含文本的 div 覆盖元素是绝对定位的 我希望用户能够选择这些 div 后面的文本 我的解决方案是隐藏用户事件 mouseDown 上的覆盖层 显示 无 并在 mouseUp 事件发生时再次显示它 这样 一旦
  • 禁用 Firefox 的自动填充

    是否可以禁用 Firefox自动填充功能而不禁用自动完成 我知道我可以这样做 autocomplete off 但我不想禁用自动完成 只是禁用自动填充 Firefox 正在填充一些本应为空的隐藏字段 这主要是用户刷新页面时出现的问题 表单字
  • 无法在 Firefox 中显示我的 svg 图像?

    我无法在 Firefox 中显示我的 svn image 它在 Safari 和 Chrome 中工作正常 没有 IE 所以还没有测试过 它在我的html中是这样实现的 img 类 logo1 src images logo6 svg 其中
  • Firefox 版本 3 如何调用 Windows 上的防病毒功能来扫描下载内容?

    StackOverflow 上的另一个问题 https stackoverflow com questions 3292216 execute antivirus program programmatically using delphi是
  • Selenium Webdriver - Firefox 中元素不可点击错误

    通常在 Chrome 驱动程序中出现的元素不可点击错误也恰好在 Firefox 中出现 显示的错误消息 Exception in thread main org openqa selenium WebDriverException Elem
  • Firefox CSS 大纲错误?

    在 Chrome 和 IE9 上 我指定的 CSS 轮廓完全符合我的要求 并充当我正在设计的元素周围的第二个边框 但在 Firefox 上 轮廓会向外扩展 以便包含我生成的 after 伪元素以及主元素 这是一个错误 还是预期的 有什么好的
  • 在 Firefox 中使用 Javascript 检测键盘布局

    有没有办法在 Firefox 中检测客户端的键盘布局 我知道 Chrome 的答案是肯定的 请参阅https developer mozilla org en US docs Web API Navigator keyboard https
  • 文本的彩虹色

    rainbowtext background image webkit gradient linear left top right top color stop 0 f22 color stop 0 15 f2f color stop 0
  • 更快地开发和测试打印样式表的方法(避免每次都进行打印预览)?

    这是我现在的流程 保存对 print css 的更改 打开浏览器并刷新页面 右键单击并选择 打印 gt 打印预览 Firefox 但实际上是任何浏览器 第三步让我烦恼 我想知道是否可以通过插件或其他东西将其从流程中删除 只需选择以打印媒体形
  • Firefox 和 Safari 中的 MouseEvent.path 等效项

    我正在使用 Polymer 1 0 当点击 Chrome 中的按钮时MouseEvent被生成 这MouseEvent对象有一个path属性是单击按钮的父元素的有序数组 然而 在 Firefox 和 Safari 中 click生成的没有p
  • 强制 Firefox 在 img.src 更改后重新加载图像

    我正在修改画布上的一些图像 然后将这些图像的 src 设置为新的 Base64 编码图片 img src changeColor img 更改颜色返回 base64 编码图像 return canvas toDataURL Chrome 和

随机推荐