【问题标题】:mage.exe manifest signing with certificate stored in AWS CloudHSM使用存储在 AWS CloudHSM 中的证书签署 mage.exe 清单
【发布时间】:2019-07-12 03:41:02
【问题描述】:

我正在尝试使用 mage.exe 和存储在 Amazon CloudHSM 中的证书签署清单。

我安装了 Amazon CloudHSM Windows 客户端,它添加了 Cavium Key Storage ProviderCavium CNG Provider 提供程序。我可以使用 CloudHSM 中的证书与 signtool.exe 签名,但我无法让 mage.exe 工作。我有 NETFX 4.7.2 的 mage.exe,所以它有 -CryptoProvider 参数。

我已尝试为-CryptoProvider 指定上述两个提供程序:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\mage.exe" -Sign myapp.exe.manifest -CertHash <thumbpring> -CryptoProvider "Cavium Key Storage Provider" -KeyContainer my

但我明白了:

内部错误,请重试。指定的提供程序类型无效。

调用mage.exe 以使用备用密钥存储提供程序签署清单的正确参数是什么?

注意:证书必须在 HSM 中。不能在其他商店中使用证书。

注意 2:由于我可以使用 signtool.exe 签名,因此可以访问证书、正确设置 CloudHSM 等。此问题似乎特定于使用 mage.exe 访问该证书。

更新:我使用 JetBrains dotPeek 反汇编了 .NET Framework 4.7.2 mage.exe,将其导出到项目中,对项目进行了足够的破解以使其能够编译,并且我能够使用被破解的 mage.exe 进行签名.我只需要-CertHash 参数而不需要-CryptoProvider。我不确定这是否是权限问题,因为我为使其编译而取出的一些内容是程序集属性并使其未签名。

我没有考虑解决这个问题,因为我不想在我们的生产应用程序中使用mage.exe 的黑客版本。另外,我什至还没有确认我可以以允许 ClickOnce 应用程序正确部署的方式签署应用程序和部署清单。这只是使用“授权”mage.exe 查找解决方案的更多信息。

【问题讨论】:

    标签: clickonce mage amazon-cloudhsm


    【解决方案1】:

    我遇到了同样的事情...我相信 MAGE 中存在错误

    此处记录的错误: https://github.com/Microsoft/dotnet/issues/986

    我也必须重新编译 mage,并重新定位到 .NET 4.7.2

    我必须使用 -CertFile、-CryptoProvider 和 -KeyContainer 来让它签名,我不知道如何让 -CertHash 工作..

    注意找到Key Container:

    运行

    certutil - 存储我的

    然后查找您的证书,然后使用“Key Container = XXXXX”值

    【讨论】:

      【解决方案2】:

      我在使用 mage 签署清单文件时遇到了类似的问题。在我的情况下,私钥存储在 SafeNet USB eToken 中,但是我得到的错误是不同的(“此证书不包含私钥......”)。
      最终,我通过反编译 mage(使用 JetBrains dotPeek)、更改一行(相关)代码并再次重新编译它来让它工作。
      有关详细信息,请参阅我在 https://github.com/Microsoft/dotnet/issues/986#issuecomment-534970170 的评论。

      【讨论】:

        【解决方案3】:

        我们在我的公司使用与 AWS CloudHSM 集成的 mage.exe,它工作得很好,无需重新编译 mage。但是,我们使用名为 GaraSign 的 HSM 代理来执行此操作。签名客户端与处理所有身份验证、授权、策略执行等的 GaraSign 对话。如果成功,数据的哈希值将从客户端发送到服务器,然后将其卸载到 HSM 进行签名。我们的客户端配置了 GaraSign KSP 而不是 CloudHSM KSP。

        【讨论】:

          最近更新 更多