【问题标题】:How to install a digital certificate from the signed file programmatically?如何以编程方式从签名文件安装数字证书?
【发布时间】:2013-04-19 11:20:30
【问题描述】:

如果您有数字签名文件,您可以打开文件的属性,然后通过单击详细信息 -> 显示证书 -> 安装证书来安装该文件已签名的证书。如何以编程方式执行此操作(例如在 .net 或非托管 c++ 中)?

是否可以从可执行文件本身读取和安装证书?

【问题讨论】:

    标签: c# c++ import installation digital-certificate


    【解决方案1】:

    证书包含在 PE(和其他一些)文件的 Authenticode 签名中。如果您有 Authenticode 阅读器类,则可以提取证书。拥有它们后,您可以将它们安装到 Windows 证书存储中。

    我们的SecureBlackbox 产品支持Authenticode,证书管理和Windows 证书存储操作也是如此。

    使用 CryptoAPI,这可以使用 WinVerifyTrust 函数后跟 CertAddCertificateContextToStore 函数来完成。但是 CryptoAPI 很麻烦。

    【讨论】:

    • 我找到了一个如何读取验证码签名ucosoft.com/…的示例。
    • 编辑:但我不能把这一切放在一起,我需要读取内存中的验证码签名(而不是将其保存在文件系统上)并将其添加到证书存储(本地机器,受信任的发布者)。能否提供代码示例?
    • @Shurup 很抱歉,我们只有组件的样品。
    猜你喜欢
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 2012-09-29
    • 2020-06-12
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多