问题标签 [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 投票
2 回答
5754 浏览

c# - 使用 RSA 密钥保护许可证密钥

很晚了,我累了,而且可能很密集......

我编写了一个需要保护的应用程序,因此它只能在我为其生成密钥的机器上运行。我现在正在做的是获取 BIOS 序列号并从中生成哈希,然后我使用 XML RSA 私钥对其进行加密。然后我签署 XML 以确保它没有被篡改。我正在尝试打包公钥以解密和验证签名,但每次我尝试以与生成签名的用户不同的用户身份执行代码时,我都会在签名上失败。

我的大部分代码都是根据我找到的示例代码修改的,因为我对 RSA 加密并不像我想的那样熟悉。下面是我正在使用的代码以及我认为我需要使用的代码才能使其正常工作......

任何反馈都将不胜感激,因为此时我完全迷失了我正在使用的原始代码是这样的,只要启动程序的用户与最初签署文档的用户相同,此代码就可以正常工作......

这段代码是我认为我应该做的,但无论我做什么,它都无法验证签名,无论它是同一个用户还是不同的用户......

我相信这与关键容器名称有关(这里是一个真正的笨蛋,请原谅我)我很确定这是导致它在第一种情况下工作并阻止它在第二种情况……

有没有办法让我在生成应用程序许可证时使用私钥对 XML 进行签名/加密,然后将公钥放到应用程序目录中并使用它来验证/解密代码?如果我能让签名部分正常工作,我可以放弃加密部分。我用它作为备份来混淆我键入的许可证代码的来源。

这有什么意义吗?我是个彻头彻尾的笨蛋吗?

感谢任何人都可以在这方面给我的任何帮助..

0 投票
1 回答
1332 浏览

c# - 在 Outlook 加载项中处理数字 ID/签名

我有一个 C# Outlook 加载项应用程序(VS2005 和 2003 Outlook),它读取传入的电子邮件并删除附件和电子邮件文本正文以供将来处理。有时我会收到一封包含数字签名的电子邮件。当我尝试访问 mailitem.body 属性时,应用程序将失败,并引发以下异常:

System.Runtime.InteropServices.COMException (0xAB404001):操作失败。在 Microsoft.Office.Interop.Outlook._MailItem.get_Body() 在 MyLib.MyApp.OutlookAddin.MailProcessor.ProcessMailItem(MailItem mailItem)

我很确定是数字签名导致了问题,因为如果我将电子邮件转发给我自己,它将剥离原始发件人的数字签名,并且加载项应用程序将毫无问题地处理电子邮件。我不知道该怎么办。我需要处理这封电子邮件,所以我不能忽略它。以某种方式获取原始电子邮件的正文而不抛出异常将是理想的。或者我想如果我可以识别出与电子邮件关联的数字签名,我可以将电子邮件转发给自己,但这似乎有点混乱。有没有人有任何建议/修复?谢谢你的帮助。

0 投票
1 回答
1634 浏览

ruby - 使用 S/MIME 在 Ruby 中对电子邮件进行数字签名

Ruby 中有没有一种方法可以使用 S/MIME 对电子邮件进行数字签名?我们的小组使用 PKI,我们的用户习惯于期待重要消息的数字签名。

我知道我可以调用 openssl 命令行工具:

但我希望利用 Ruby 解决方案。

0 投票
3 回答
11570 浏览

xml - XML 数字签名的命令行工具

是否有用于 XML 数字签名的命令行工具?

我在这里找到了一个:http: //www.codeproject.com/KB/security/xmldsiglic.aspx 但它需要.NET Framework,我希望它在没有.NET 的情况下工作

0 投票
1 回答
1434 浏览

java - 如何验证证书的根信任

我是java安全新手。我有一个使用自签名根证书签名的证书。假设 client.pem 是签名证书,root.pem 是根证书。

签名证书嵌入到客户端程序中。

当连接到服务器程序时。

需要验证呼叫来自认证客户端。客户端应将其证书发送到服务器。

我需要检查 cleint.pem 是否实际上是使用 Java API 用 root.pem 签名的。

我对验证两个相同证书的 java.security.cert.Certificate.verify(PublicKey key) 方法有一些想法。但这对验证信任根有用吗?

有人可以帮忙吗?

谢谢阿比

0 投票
2 回答
436 浏览

c# - 如何以编程方式获取用于在 .NET 中对程序集进行数字签名的公司信息?

作为一种简单的安全手段,我之前检查了我的程序下载的更新包的数字签名与它的公钥,以确保它来自我。但是,由于我使用的是廉价的代码签名证书 (Tucows),因此我无法更新现有证书,因此每次需要更新时密钥都会更改。

因此,更可靠的方法是根据我众所周知的组织字符串验证嵌入在签名程序集中(显示在 UAC 对话框中)的组织信息,因为这将继续保持不变。

有谁知道如何从数字签名的程序集中获取这些信息?

0 投票
2 回答
3832 浏览

java - Java (java.security) 中的签名是否有大小限制?

我正在尝试使用 SHA1 对令牌对象进行签名。我使用 bouncycastle 作为安全提供者。每当程序尝试签署某些东西时,它都会给我这个错误。

签名的最大尺寸是多少?你对我如何签署这个对象有什么建议吗?

0 投票
1 回答
630 浏览

email - S/MIME 中的多个签名

是否可以使用 S/MIME 多次签署 MIME 电子邮件 (RFC 2822),以便所有签名都是可验证和可检索的?

0 投票
1 回答
637 浏览

windows-xp - Windows XP 拒绝数字签名

我不想在安装驱动程序时看到未签名的驱动程序警告,因此我尝试使用 signtool、inf2cat 和软件发布证书对驱动程序进行数字签名。Vista x64 要求对驱动程序进行数字签名,否则它会完全拒绝它们,但我已经设法让 Vista x64 接受驱动程序,所以我知道我正在正确地执行该过程。

但是,我对 Windows XP x86 驱动程序重复该过程。inf2cat 和 signtool 都返回成功结果,signtool 验证数字签名,右键单击 -> 文件上的属性也验证数字签名。

但是,当我在 Windows XP 中加载驱动程序时,它仍然提示我一个未签名的驱动程序警告。为什么 XP 认为文件未签名,而 Vista 不认为?

0 投票
1 回答
828 浏览

windows-installer - UAC 修补和数字签名

我们有一个执行自动更新的应用程序。直到最近,我们还没有遇到任何问题。然而,我们的许多客户最终升级到 Windows 7 并遇到各种问题。

我的任务是更新安装程序,使其可以在 7(和 Vista,尽管我们的客户似乎没有使用 Vista)上工作。

根据这篇文章,标准用户似乎可以应用 msp 补丁,前提是它使用与原始安装相同的签名进行签名。

这个事情谁有经验?签名是否必须经过第三方验证?我问,因为我遵循这个过程并创建了我的签名用于开发,当我安装在一个单独的 Windows 7 机器上时,它显示一个未知的发布者并要求管理员登录。我认为这是因为它是自签名的。但是,我想在我们花钱从 Thawte 或 Verisign 获得第 3 方证书之前进行验证。