Поделиться через


Подписывание политики CI с помощью доверенного подписывания

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

Необходимые компоненты

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

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

Подписыв политику CI

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

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

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

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

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

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

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

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

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

    Invoke-AzCodeSigningCIPolicySigning -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-AzCodeSigningCIPolicySigning -MetadataFilePath C:\temp\metadata.json -Path C:\Temp\defaultpolicy.bin -Destination C:\Temp\defaultpolicy_signed.bin -TimeStamperUrl: http://timestamp.acs.microsoft.com 
    

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

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