在 Azure 发布管道中出现“未找到证书”错误

时间:2021-05-10 21:04:23

标签: azure azure-devops

我正在为 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 的行:

<块引用>

[command]D:\a_tasks\codesigning_0e0f3bf7-d96c-45d6-aa76-f9afb71fb77e\2.2.0\signtool.exe sign /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

0 个答案:

没有答案