Подписать политику CI

В этой статье показано, как подписать новые политики целостности кода (CI) с помощью службы подписывания артефактов.

Предпосылки

Для выполнения задач из этой статьи необходимо следующее:

  • Учетная запись для подписания артефактов, проверка личности и профиль сертификата.
  • Индивидуальное или групповое назначение роли подписанта профиля сертификата артефакта.
  • Azure PowerShell в Windows установлен.
  • Скачанный модуль Az.ArtifactSigning.

Подписать политику CI

  1. Откройте PowerShell 7.

  2. При желании можно создать файл metadata.json, который будет выглядеть следующим образом: ("Endpoint" значение URI должно быть URI, которое соответствует региону, в котором вы создали учетную запись для подписи артефакта и профиль сертификата при настройке этих ресурсов.)

    {
    "Endpoint":"https://xxx.codesigning.azure.net/",
    "CodeSigningAccountName":"<Signing Account Name>",
    "CertificateProfileName":"<Certificate Profile Name>"
    }
    
  3. Получите корневой сертификат , который требуется добавить в хранилище доверия:

    Get-AzArtifactSigningCertificateRoot -AccountName TestAccount -ProfileName TestCertProfile -EndpointUrl https://xxx.codesigning.azure.net/ -Destination c:\temp\root.cer
    

    Если вы используете файлmetadata.json , выполните следующую команду:

    Get-AzArtifactSigningCertificateRoot -MetadataFilePath C:\temp\metadata.json -Destination c:\temp\root.cer 
    
  4. Чтобы получить расширенное использование ключей (EKU) для вставки в политику:

    Get-AzArtifactSigningCustomerEku -AccountName TestAccount -ProfileName TestCertProfile -EndpointUrl https://xxx.codesigning.azure.net/ 
    

    Если вы используете файлmetadata.json , выполните следующую команду:

    Get-AzArtifactSigningCustomerEku -MetadataFilePath C:\temp\metadata.json 
    
  5. Чтобы подписать политику, выполните invoke команду:

    Invoke-AzArtifactSigningCIPolicySigning -accountName TestAccount -profileName TestCertProfile -endpointurl "https://xxx.codesigning.azure.net/" -Path C:\Temp\defaultpolicy.bin -Destination C:\Temp\defaultpolicy_signed.bin -TimeStamperUrl: http://timestamp.acs.microsoft.com 
    

    Если вы используете файлmetadata.json , выполните следующую команду:

    Invoke-AzArtifactSigningCIPolicySigning -MetadataFilePath C:\temp\metadata.json -Path C:\Temp\defaultpolicy.bin -Destination C:\Temp\defaultpolicy_signed.bin -TimeStamperUrl: http://timestamp.acs.microsoft.com 
    

Создание и развертывание политики CI

Инструкции по созданию и развертыванию политики CI см. в следующих статьях: