【问题标题】:Are there any way to Sign Clickonce application when building with TFS online services?使用 TFS 在线服务构建时,有什么方法可以对 Clickonce 应用程序进行签名?
【发布时间】:2014-01-02 14:44:06
【问题描述】:

我已启用登录我的点击一次应用程序。

但是构建服务器(TFS 在线服务)没有证书。有什么方法可以将证书包含在存储库中并让构建服务器对其进行签名,还是我必须禁用签名并在之后手动执行?

我没有从商店中选择证书,而是签入文件并从文件中选择。

构建服务器然后给我:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (2482):无法导入以下密钥文件:.密钥文件可能受密码保护。要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区。

(是不是我应该在没有密码的情况下签入,而其他人也是这样做的吗?在没有密码的情况下将私钥放在外面是不是很危险。)

【问题讨论】:

    标签: tfs azure-devops


    【解决方案1】:

    我在存储库中创建了以下 powershell 脚本:

     [CmdletBinding()]
     param(
         [Parameter(Mandatory=$True)]
         [string]$signCertPassword
        )
    
    $SecurePassword = $signCertPassword | ConvertTo-SecureString -AsPlainText -Force
    Write-Output "Importing pfx"
    
    Import-PfxCertificate -FilePath "YourPfxFile.pfx" -Password $SecurePassword Cert:\CurrentUser\My
    

    并将密码作为变量传递(锁定)

    【讨论】:

    【解决方案2】:

    我为使用 Mage.exe 和 Signtool.exe 创建了 CodeActivites,并将签名构建到我的构建模板中。

    从 /t:publish 所有文件都有 .deploy 扩展名,我必须创建一个 XML 任务来更新清单 xml 以支持这一点。

    【讨论】:

    • 您能否详细说明您是如何做到这一点的?
    • 我现在不记得了,我必须挖掘代码并将我的头重新投入构建的东西才能让它工作。如果我在接下来的一周有时间去做,我会写一篇关于它的博客文章,然后带着它回到这里,但没有承诺。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 2021-02-22
    • 2015-03-13
    • 1970-01-01
    相关资源
    最近更新 更多