问题标签 [capicom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何使用来自浏览器的证书私钥签署文档(CAPICOM 替代方案)?
因此,在 Windows 7 之前,有一个 Microsoft ActiveX 组件:CAPICOM,可以从 Javascript 调用它,然后在客户端机器上显示证书存储的内容。然后客户端可以选择适当的证书并使用证书的私钥签署一些文件。这就是在 Javascript 中访问证书存储的方式:
现在使用 CAPICOM 的替代方法是什么?我希望客户端能够在浏览器中用他的私钥签署一些文本,然后用公钥将签署的文本发送到服务器。还有可能吗?
也许我可以使用 Java 或 Silverlight 而不是纯 JavaScript?PKI.js和类似的呢?
c# - 使用在 NET11 但不在 NET45 中工作的 CAPICOM 进行验证
我们正在使用以下代码来验证 NET 1.1 中的分离签名,该签名适用于 Windows XP 和 Windows Server 2003:
我们在具有构建配置的 Windows 7 机器NET45
上的项目中使用相同的代码,但它以.x64
x86
Invalid Signature
System.Runtime.InteropServices.COMException
我们也尝试过验证System.Cryptography
,但没有成功。我们添加证书的公钥以防万一。证书可以在这里下载。
在这种情况下,我们还会收到一条Invalid Signature
异常消息System.Security.Cryptography.CryptographicException
。
c# - 如何在 C# 中复制 CAPICOM SignedData.Sign() 方法
我需要为使用 VB6/CAPICOM 组件的现有 Classic Asp 网站编写测试工具。目的是重新创建 SignedData.Sign() 的结果,以便我可以将其发布到 Classic Asp 网站,在那里它将使用 CAPICOM 解码有效负载。
VB6 CAPICOM 供参考
我一直在这里使用 CAPICOM 文档作为指南
C# 等价物
到目前为止,C# 生成的签名无法被 CAPICOM 组件解码。
inno-setup - 如何检查是否安装了 CAPICOM?
我的应用程序使用 CAPICOM。有的机器可能没有安装,需要安装程序安装。我已经添加了 msi 安装程序以在安装我的应用程序时运行。
如果安装了 CAPICOM 以避免冗余安装,是否有任何方法可以在 Inno Setup 中进行测试?
javascript - 如何验证数字签名内容和证书
我想验证使用 capicom js 后得到的 base64 编码字符串。我找到了一个解决方案,CAPICOM_VERIFY_SIGNATURE_ONLY
但由于哈希值不正确而返回。我正在使用的代码如下
c# - 从 USB 令牌中删除证书。错误找不到智能卡
如何使用 capicom 从 USB 令牌中删除证书。
我写了这段代码,但它不起作用我在 MyStore.Open(CAPICOM_SMART_CARD_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_WRITE); 行中收到错误“找不到智能卡”
c# - .NET System.Security.Cryptographic 中来自 CAPICOM 的 AES 解密
我认为有些问题已经与我将在这里讨论的问题相似。但是,如果可以回答这个百万美元的问题,我将提供一些可能用于其他项目的代码。
我正在尝试创建一个解密机制,使用System.Security.Cryptographic
.NET 来解密由 CAPICOM 库生成的密文。
首先,看看我使用 CAPICOM 库进行加密和解密的方法。
使用刚刚简单调用的方法ClassName.EncryptString("Your plain text here");
现在这里是魔鬼的一面。很多帖子都在谈论同样的事情,不知何故你无法解密由 CAPICOM 创建的东西,直到这一刻我觉得这个概念有点正确。
这是我到目前为止所做的。
我们都知道在使用 CAPICOM 的 AES 时初始化向量 (IV) 是隐藏的(请参阅此处的帖子并且无法检索,尽管如此我们还是试试吧。另一个有趣的是,我们只假设 CAPICOM 使用的是最大长度密钥大小,所以我使用aes.KeySize = 256;
. 最后,CAPICOM 神奇地使用填充,只有微软的人知道这一点,所以我使用aes.Padding = Padding.None;
.
不幸的是,来自 CAPICOM 的每个输出(密文)都无法使用我的 .NET 方法使用所有可能的组合进行解密。
现在问题来了。在花了超过 2 x 24 小时试图解决这个难题之后,我离解决它还差得很远。谁能帮我解决这个问题?