【发布时间】:2011-09-05 07:17:26
【问题描述】:
我在从 PFX 文件中提取公钥时遇到问题。我使用的第一件事是 X509Certificate2。但是以这种方式收到的公钥是加密的,我希望这个密钥与 InternalsVisibleTo Attribute - 在 Examples 部分中有一个这样的键的示例。有没有办法以兼容的形式提取此密钥(与 InternalsVisibleTo 兼容)。
【问题讨论】:
-
您是在尝试验证 Authenticode 签名还是什么?如果需要验证验证码,那么这种验证的过程不同于比较公钥。它涉及 (a) 检查签名和 (b) 验证证书。
-
嗨,尤金。我正在尝试获取公钥,因为我需要编写将 InternalsVisibleTo 属性添加到 AssemblyInfo 文件的自动过程。不幸的是,当我没有由 *.proj 生成的程序集时,我需要考虑场景,但我有一个签署此程序集的 pfx(在帮助下我想提取此公钥)。
-
可以使用密钥对(使用 sn.exe 进行 .NET 签名)和 Authenticode(在这种情况下可能涉及 PFX 文件)对程序集进行签名。您正在寻找的是 .NET 签名,但它不涉及 PFX。所以这里的过程有些混乱。
-
我知道可以使用 snk(密钥对)对程序集进行签名。从此类文件中获取公钥没有问题。但是我需要使用 pfx 文件。例如,可以使用 X509Certificate2 加载它。我的问题从这里开始。 X509Certificate2 中的公钥采用“模数和指数”形式。有没有办法以程序集公钥形式获取公钥(不使用 sn.exe,只使用 .NET BCL)?这可能吗?
-
不确定您在汇编中所指的公钥是什么?您能否在帖子中提供更多信息。可能是您的基于 X509Certificate2 的公钥和组装中的公钥的一些屏幕截图。另一方面,如果它只是从 PFX 中提取公钥,那么这是一个简单的过程,我可以为您提供帮助。
标签: c# .net encryption cryptography pfx