【问题标题】:Getting a "No certificates were found" error in an Azure release pipeline在 Azure 发布管道中出现“未找到证书”错误
【发布时间】:2022-03-30 01:49:04
【问题描述】:

我正在为 WPF 应用程序将 TFS 构建/发布迁移到 Azure DevOps Services (ADS)。构建工作正常,但我在发布时遇到问题。这是我参与过的第一个 ADS 版本。

最初的 TFS 构建/发布是由一位后来离职的同事完成的。他使用 PowerShell 脚本对 TFS 版本中的 ClickOnce 清单进行签名。

我在 Stack Overflow 上搜索时遇到了一个错误,Signtool error: No certificates were found that met all given criteria with a Windows Store App?

查看发布的答案,答案之一是清除项目属性的复选框“签署 ClickOnce 清单”。我查看并发现未选中该复选框。我不相信这是错误的原因。无论如何,我的同事编写的 PowerShell 脚本签署了清单。我们需要对所有清单进行签名。

我的同事从签名机构获得了证书。它的有效期到 2022 年的某个时候,所以它还没有过期。

我将证书从它所在的服务器上取下来,并将其放入该项目的管道 |图书馆 | ADS 中的安全文件位置。我正在使用代码签名市场扩展来签署清单。这是 ADS 发布管道中的任务:

steps:
- task: stefankert.codesigning.codesigning-task.codesigning@2
  displayName: 'Code Signing '
  inputs:
    secureFileId: 'DER Encoded Binary.cer'
    signCertPassword: '$(signingCert.securePassword)'
    files: '**/*.manifest'
    timeServer: 'http://timestamp.comodoca.com'
    description: 'ACDC ClickOnce'

我在管道库中创建了一个变量组。 signingCert.securePassword 是具有证书密码的变量之一的名称。

错误提示我管道在库中找不到文件“DER Encoded Binary.cer” |安全文件。我做错了什么?

附录:

仔细查看任务日志,我发现它正在查找清单文件。这是使用 signtool.exe 的行:

[命令]D:\a_tasks\codesigning_0e0f3bf7-d96c-45d6-aa76-f9afb71fb77e\2.2.0\signtool.exe 签名 /fd SHA256 /t http://timestamp.comodoca.com /f "D:\a_temp\DER 编码二进制.cer " /p *** /d "ACDC ClickOnce" D:\a\r1\a_ACDC\drop\ACDC\bin\Release\ACDC.exe.manifest

【问题讨论】:

  • 如果您使用经典模式添加该任务并检查您是否可以选择.cer文件,结果如何?
  • 你在哪里运行它?在 Microsoft 代理中还是在自托管代理中?
  • 在微软的代理中

标签: azure azure-devops


【解决方案1】:

我认为“secureFileId”是指安全文件的 GUID。如果您单击安全文件,它将导航到一个 URL 以更改和查看安全文件的设置。在 URL 中,您会注意到 GUID。就像是: http://MyServer:8080/tfs/YourProjectCollection/YourProject/_library?itemType=SecureFiles&view=SecureFileView&secureFileId=abcd1234-12ab-01a1-ab12-9d1c827a4&path=YourSecureFile.pfx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    相关资源
    最近更新 更多