簡體   English   中英

在 Azure 發布管道中出現“未找到證書”錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM