[英]Getting a "No certificates were found" error in an Azure release pipeline
我正在為 WPF 應用程序將 TFS 構建/發布遷移到 Azure DevOps 服務 (ADS)。 構建工作正常,但我在發布時遇到問題。 這是我參與過的第一個 ADS 版本。
最初的 TFS 構建/發布是由一位同事完成的,此人已離職。 他使用 PowerShell 腳本對 TFS 版本中的 ClickOnce 清單進行簽名。
我在 Stack Overflow 此處搜索時遇到錯誤, Signtool 錯誤:找不到符合 Windows Store 應用程序所有給定條件的證書?
查看已發布的答案,答案之一是清除項目屬性的復選框,“簽署 ClickOnce 清單”。 我已經查看並發現未選中復選框。 我不認為這是錯誤的原因。 無論如何,我同事寫的 PowerShell 腳本簽署了清單。 我們需要簽署所有清單。
我的同事從簽名機構獲得了證書。 它的有效期到 2022 年的某個時候,所以它還沒有過期。
我從它所在的服務器上取下了證書並將其放入該項目的 Pipeline | 圖書館 | 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 sign /fd SHA256 /t http://timestamp.comodoca.com /f "D:\a_temp\DER 編碼Binary.cer" /p *** /d "ACDC ClickOnce" D:\a\r1\a_ACDC\drop\ACDC\bin\Release\ACDC.exe.manifest
我認為“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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.