【问题标题】:Find the secure name (sn.exe) container name for Visual Studio查找 Visual Studio 的安全名称 (sn.exe) 容器名称
【发布时间】:2020-01-30 11:56:27
【问题描述】:

我有一个在构建过程中必须由 pfx 证书签名的软件。我构建解决方案的机器是一台全新的机器,我们试图在构建过程中不手动执行任何配置,而仅通过脚本执行。

当我启动构建时,我从msbuild 收到此错误

[错误]C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5):

错误 MSB3325:无法导入以下密钥文件:Key.pfx。钥匙 文件可能受密码保护。要更正此问题,请尝试导入 再次证书或手动将证书安装到 Strong 使用以下密钥容器名称命名 CSP: VS_KEY_07C5CCD85188D111

通常我通过在构建机器上的 Visual Studio 的开发者控制台中执行来解决这个问题:

sn -i VS_KEY_07C5CCD85188D111 path\to\Key.pfx

但是,如前所述,我希望构建自动检索容器名称并导入证书作为msbuild 命令之前的步骤。我遇到的问题是我不知道如何检索 Visual Studio 想要使用的容器名称,因为它会根据我运行构建的机器而变化。

您知道 Visual Studio 如何计算该容器名称吗?或者无论如何如何检索它?

【问题讨论】:

  • 您已经有至少一种相当简单的方法来找到它是可自动化的:执行一个旨在失败的构建并 grep 输出。 (当然,这是一个笨拙且次优的解决方案,但它可以自动化。我想我会指出这一点。)
  • @JeroenMostert 是的,目前我唯一的想法是解决这个问题,但我不太喜欢它。我想知道是否存在更好和“标准”的方式来获得它

标签: visual-studio powershell sn


【解决方案1】:

您可以使用SnInstallPfx.exe。它将确定容器名称并导入 pfx。它不是标准的,而是使用标准的方法来确定容器名称

更多信息,请参阅以下blog article

【讨论】:

    猜你喜欢
    • 2022-10-13
    • 2021-05-13
    • 1970-01-01
    • 2015-12-15
    • 2016-04-02
    • 2012-04-28
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    相关资源
    最近更新 更多