【问题标题】:Continuous Integration: How to automate application's code signing procedure in build process using TeamCity持续集成:如何使用 TeamCity 在构建过程中自动化应用程序的代码签名过程
【发布时间】:2017-02-15 18:04:59
【问题描述】:

目前,我正在寻找解决方案,如何在 TeamCity 上构建解决方案 (.Net) 期间存储我的签名证书并实施应用程序签名步骤。

找不到合适的解决方案,也不认为将证书放入NuGet包是好的解决方案。

有人可以提示我如何实现它吗?

【问题讨论】:

  • 不,这与代理认证有关。我正在尝试在 TeamCity 上构建我的应用程序。
  • 什么样的签名?这是关于使用 .snk 密钥对您的程序集进行强签名吗?
  • 这些 snk 或 pfx 文件不是项目的一部分吗?如果您构建解决方案,这一切都应该自动完成
  • 是的,这是 snk/pfx 文件,但使用密码保护。我想将它与解决方案分开存储。

标签: .net continuous-integration teamcity x509certificate nuget-package


【解决方案1】:

您可以将证书放在 buildagents 机器上的特定目录中,或者从证书所在的存储库中添加一个额外的目录。

然后,您可以在解决方案中添加一个额外的 Visual Studio Proj 文件,该文件是您在 TeamCity 中构建发布版本时使用的文件。该项目文件将包含您的应用程序的签名以及编译等。

现在我不知道您使用的是哪种签名,我们有一个正在签名的 clickOnce 应用程序,我们正在使用这三个步骤:

<Exec Command="&quot;$(SdkPath)\mage.exe&quot; -sign &quot;$(ClickOncePublishDirectory)\app.exe.manifest&quot; -CertFile $(SigningCert) -pwd $(SigningPassword)"/>  
<Exec Command="&quot;$(SdkPath)\mage.exe&quot; -update  &quot;$(ClickOncePublishDirectory)\application&quot; -AppManifest &quot;$(ClickOncePublishDirectory)\app.exe.manifest&quot; -Publisher &quot;Name in certificate&quot; -a sha256RSA"/>
<Exec Command="&quot;$(SdkPath)\mage.exe&quot; -sign  &quot;$(ClickOncePublishDirectory)\application&quot; -CertFile $(SigningCert) -pwd $(SigningPassword)"/>

【讨论】:

    猜你喜欢
    • 2020-08-03
    • 1970-01-01
    • 2014-01-24
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 2020-10-19
    • 1970-01-01
    相关资源
    最近更新 更多