【问题标题】:How can I make SignerSignEx2 use the machine key store instead of the user one?如何让 SignerSignEx2 使用机器密钥库而不是用户密钥库?
【发布时间】:2016-09-13 15:44:59
【问题描述】:

我目前正在尝试使用SignerSignEx2 函数通过Authenticode 对DLL 进行签名。为此,我创建了一个私钥并将其放入机器密钥存储区(因此该文件将存储在 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 中)。

不幸的是,SignerSignEx2 函数似乎只在用户存储中查找密钥(当我将密钥放入用户存储时(以便文件存储在 C:\Users{user}\AppData\Roaming \Microsoft\Crypto\RSA{user-id})它工作正常)。

有谁知道调用 SignerSignEx2 的方法,它使用机器密钥存储而不是用户存储?

本质上该功能应该类似于CspParameters 类,它允许使用 CspProviderFlags.UseMachineKeyStore 来控制使用哪个密钥存储。

【问题讨论】:

    标签: c# signing authenticode


    【解决方案1】:

    我相信您在打开证书存储时需要 CERT_SYSTEM_STORE_LOCAL_MACHINE 标志才能获得所需的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 2019-10-21
      • 1970-01-01
      相关资源
      最近更新 更多