问题标签 [digital-signature]

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.

0 投票
1 回答
4296 浏览

winapi - 如何验证我的组织是否签署了受信任的 Windows 二进制文件?

这是问题 1072540“WinVerifyTrust 检查特定签名?”的后续问题。.

我想写一个 C++ 函数让我们调用它TrustedByUs的形式:

我们的想法是,我们为这个函数提供了一个二进制 .dll 或 .exe 文件的路径,该文件已使用数字签名进行了签名。该pathToPublicKey字符串是我们特定签名证书的公钥的路径。

使用http://support.microsoft.com/kb/323809中的代码,可以非常直接地验证该pathToBinary文件实际上是否受操作系统信任。

现在我和问题 1072540 的作者在同一个地方,我知道操作系统信任这个二进制文件的签名者,但我想知道我的组织的 RSA 密钥是否是签署二进制文件的那个。

KB323809 展示了如何从嵌入在我们的二进制文件中的证书中提取字符串。此示例显示了如何在其GetProgAndPublisherInfo函数中从签名证书中提取字符串,但我不习惯使用字符串匹配来验证证书。

我想做的是从嵌入式签名中提取公钥,并将其与与首先签署我的二进制文件的私钥相对应的公钥进行比较。

的文档CryptMsgGetParamCMSG_SIGNER_CERT_ID_PARAM 参数“返回有关标识签名者公钥所需的消息签名者的信息”。我使用此密钥成功获取了证书的序列号。我的代码如下所示:

这接近我想要的,但我真的想使用签名证书的公钥来验证目标签名二进制文件实际上是用我的特定公钥/私钥对创建的。

使用CMSG_ENCRYPTED_DIGEST标志此代码成功:

底线问题:给定由 发现的证书信息CryptQueryObject,我应该使用什么技术来确保目标文件实际上是使用与执行上述代码时可用的公钥对应的私钥对目标文件进行签名的?

0 投票
2 回答
3213 浏览

security - 如何使用时间戳安全地签署数据?

我想用安全的时间戳在数据库中签署记录,以证明在该日期之后它们没有被任何人更改。

我应该考虑哪些方法或协议?RFC 3161?我发现的大多数声称提供该服务的网站在我看来并不是很有名气。

是否可以自己滚动?

0 投票
3 回答
23054 浏览

java - 有没有更简单的方法在 Java 中签署 XML 文档?

我正在尝试使用 Java对 XML 文档进行数字签名。我有一个实现与一些我发现在javax.xml.crypto.dsig包中使用各种实现的引用一起工作。

但是,我当前的实现就像我看过的许多示例java.xml.crypto.dsig一样 - 它相当冗长,并且涉及使用来自、javax.xml.transformjava.security包等的不少于 23 个不同的 API 类。感觉就像我进入了工厂工厂工厂的土地,我花了几个小时才弄清楚发生了什么。

我的问题是,有没有更简单的方法来做到这一点?如果我有公钥/私钥文件并且我想将 a 添加<Signature/>到 XML 文档中,是否有一个库可以让我调用类似的东西:

...没有所有的 XMLSignatureFactory/CanonicalizationMethod/DOMSignContext 疯狂?

我不太精通密码学,Java 提供的 API 对于像我这样试图熟悉数字签名的开发人员来说似乎相当令人生畏。如果所有这些都是必要的,或者目前没有更友好的 API,那很好,我愿意接受它作为答案。我只是想知道我是否在这里不必要地采取了艰难的道路。

0 投票
2 回答
3037 浏览

java - 我可以在 Acrobat Pro 之外为数字签名启用 PDF 吗?

我正在开发一个小程序来获取大型 PDF,将其拆分(使用 iText),并向每个文件添加数字签名字段。拆分部分工作正常,但使用 Adob​​e Reader 的用户无法签署生成的文件,直到有人使用 Acrobat Professional 打开它们并为 Reader 启用它们。

有没有办法自动启用?Java/iText 解决方案将是我的首选,但任何自动化都将击败当前系统。

0 投票
2 回答
1628 浏览

.net - 如何在 .NET 中使用智能卡对 PDF 文件进行数字签名?

我有一张存储我的数字证书的智能卡。当我将它插入我的 PC 时,证书会显示在 Windows 证书存储中,位于 IE > 工具 > Internet 选项 > 内容 > 证书下。

那么...如何使用此类证书在 .NET 中签署 PDF 文件?

0 投票
8 回答
27452 浏览

asp.net - 如何在 Web 应用程序中对 PDF 文档进行数字签名?

我正在构建一个 Web 应用程序,它最允许用户使用安装在客户端计算机中的证书对 PDF 文档进行数字签名。

文档签名后,应发回服务器,存储签名版本。

服务器正在运行经典 ASP/ASP.NET

我应该去哪儿?

0 投票
1 回答
286 浏览

.net - SignedXml.CheckSignature 性能问题

我在使用 .NET 3.5 检查 XML 文件的签名时遇到问题。一切正常,但随机性能很差。有时它是即时的,但有时它可能需要 10 或 15 秒才能返回。

我检查了机器,没有任何影响它的整体性能,而且在不同的机器上也是一样的,所以我认为它与一台机器无关。

我已经将它精确地缩小到 .CheckSignature() 方法,所以一旦它命中,任何人都可以猜测它什么时候会回来。

有人有什么想法或建议吗?

0 投票
2 回答
39136 浏览

digital-signature - 如何验证 SAML 签名值

我有一位客户正在发送安全密钥。他们使用的加密是三重DES。他们发送的每个断言都有一个签名值,需要对其进行验证以赋予他们必要的特权。你能给我一个示例代码吗?

0 投票
1 回答
915 浏览

vba - 如何以编程方式将证书分配给 excel 宏

我开发了一些创建 excel 宏的代码,每次创建新宏后,我都想以编程方式对宏进行数字签名。你能告诉我是否有任何方法可以创建新的数字证书并以编程方式将它们分配给宏。谢谢。

0 投票
1 回答
1488 浏览

java - 如何在 Java 应用程序中使用 Microsoft PKCS#9 SignerInfo 属性?

http://msdn.microsoft.com/en-us/library/system.security.cryptography.pkcs(VS.85).aspx中我们可以看到定义了以下数字签名属性:

  • Pkcs9ContentType
  • Pkcs9文档说明
  • Pkcs9文档名称
  • Pkcs9MessageDigest
  • Pkcs9签名时间

其中,PKCS#9 规范中不存在Pkcs9DocumentDescriptionPkcs9DocumentName。我有一个使用Bouncy Castle的 Java 应用程序,我希望我的应用程序能够创建具有这两个属性的数字签名。

所以,我有两个问题:怎么做?我应该这样做吗?