我要导出到什么证书文件格式,以便可以在 Azure Pipelines 中使用该证书?

问题描述

Azure Pipelines 的新手。我正在努力将我们的一些应用程序的构建/发布迁移到 Azure Pipelines。我们签署了 Windows 应用程序。目前,这是通过我们的 TFS 构建/发布服务器上的证书完成的。我想从我们的 TFS 服务器导出证书,以便我可以将它放入 Azure Pipeline 的安全文件位置。从我们构建/发布的 MMC 中,我添加了证书 MMC 附加组件。我找到了要导出的相关证书。右键单击证书我选择了导出证书的任务。它问我应该使用什么文件格式。它列出了 3 个:

  • DER 编码的二进制 X.509 (.CER)
  • Base-64 编码的 X.509 (.CER)
  • 加密消息语法标准 - PKCS #7 证书 (.P7B)

最后一个,如果我选择它,会打开其他几个选项,但我想我想要的是第一个或第二个。

我应该导出到哪个,以便我可以将其放入我们 Azure Pipeline 的安全文件中,以便在 Pipeline 运行期间签署 Windows 应用程序?

解决方法

您可以使用最适合您的方式。就 Azure Pipelines 而言,它们之间没有区别,它们只是文件。

您也可以查看Code Signing extension

enter image description here

参数包括:

  • 安全文件:上传到安全文件以用于签署给定文件的证书。 (在 Azure DevOps 中使用安全文件)。
  • 安全文件密码:提供的证书的密码。使用在“变量”选项卡上启用锁定的新变量来加密此值。
  • 要签名的文件:从存储库根目录到要签名的文件的相对路径。您可以使用通配符指定多个文件(更多信息)。例如,**/bin/*.dll 用于“bin”子文件夹中的所有 .DLL 文件。
  • 时间戳服务器网址:要使用的时间戳服务器的绝对网址。默认值:http://timestamp.digicert.com
  • 哈希算法:用于创建文件签名(即 SHA256 或 SHA1)的文件摘要算法。默认值:SHA256
  • 选择 singtool.exe:选择用于签名的签名工具的选项
    • 内置:这是默认选项。它使用任务附带的 signtool.exe
    • 自定义路径:使用此选项,您可以定义任务将用于签署文件的自定义路径。重要提示:自定义路径必须以 signtool.exe 结尾
    • 已安装最新版本:此选项使用当前系统上安装的最新版本。这仅适用于安装了 Windows 10 SDK 的机器。用于获取 signtool 的基本路径是 C:\Program Files (x86)\Windows Kits\10\bin。该任务获取最新安装的版本并尝试使用 x64 版本的 .exe。如果它不可用,则使用 x86。如果 x86 signtool 不可用,则任务失败。如果是这种情况,请检查您的构建代理上是否安装了 Windows 10 SDK。
  • 描述:添加到被签名文件的描述