Przewodnik integracji podpisywania w chmurze Azure DevOps

To jest przewodnik dotyczący sposobu integracji usługi Azure DevOps z narzędziem eSigner CodeSignTool w celu automatycznego podpisywania kodu.

CodeSignTool to narzędzie wiersza poleceń, które jest odpowiednie do procesów podpisywania kodu w chmurze i bezproblemowo integruje się z różnymi platformami CI/CD. Stanowi część eSigner: naszej usługi zdalnego podpisywania, która oferuje wydajne, bezpieczne i przyjazne dla użytkownika podejście do podpisywania kodu.

SSL.com's EV Podpisywanie kodu Certyfikaty pomagają chronić Twój kod przed nieautoryzowanym manipulowaniem i naruszeniem bezpieczeństwa z najwyższym poziomem walidacji i są dostępne za jedyne $ 249 rocznie. Można również używaj swojego certyfikatu EV Code Signing na dużą skalę w chmurze za pomocą eSigner.

ZAMÓW TERAZ

Zmienne środowiskowe

  • USERNAME: Nazwa użytkownika konta SSL.com. (Wymagany)
  • HASŁO: Hasło do konta SSL.com (wymagane)
  • CREDENTIAL_ID: Identyfikator poświadczeń do podpisywania certyfikatu. Jeśli credential_id zostanie pominięty, a użytkownik ma tylko jeden certyfikat podpisywania kodu eSigner, CodeSignTool domyślnie to zrobi. Jeśli użytkownik ma więcej niż jeden certyfikat podpisywania kodu, ten parametr jest obowiązkowy. (Wymagany)
  • TOTP_SECRET: Klucz tajny TOTP protokołu OAuth. Możesz uzyskać dostęp do szczegółowych informacji na temat https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Wymagany)
  • ŚRODOWISKO_NAME : 'TEST' lub 'PROD' Środowisko. (Wymagany)

 

Wejścia

  • ścieżka_pliku_wejściowego: Ścieżka obiektu kodu do podpisania. (Wymagany)
  • ścieżka_katalogu_wyjściowego: Katalog, w którym zostaną zapisane obiekty z podpisanym kodem. Jeśli ścieżka_wyjściowa zostanie pominięta, plik określony w -ścieżka_pliku zostanie zastąpiony podpisanym plikiem.

Utwórz projekt na visualstudio.com

Utwórz nowy plik .yml w edytorze kodu

Ustaw wyzwalacze integracji i zmienne środowiskowe

Wyzwalacze ciągłej integracji

cyngiel:

  - Żaden

 

Globalnie definiuje zmienne środowiskowe. Właściwość poziomu zadania zastępuje zmienne globalne

zmienne:

  buildConfiguration: 'Wydanie'

Grupuj zadania w etapy

Napisz kroki dla etapu kompilacji. Wszystkie prace w jednym etapie muszą zostać zakończone przed wykonaniem kolejnego etapu.

gradacja:

  – etap: budowa

    # Gdy przepływ pracy jest uruchomiony, jest to nazwa, która jest rejestrowana

    displayName: kompilacja

    Oferty pracy:

      - stanowisko:

        basen:

           Uruchom zadanie na maszynach wirtualnych z systemem Windows

          vmImage: 'windows-najnowsze'

        kroki:

           Zainstaluj Dotnet 6.0.x

        – zadanie: UseDotNet@2

          displayName: 'Zainstaluj zestaw SDK .NET Core'

          wejścia:

            wersja: '6.0.x'

            performMultiLevelLookup: prawda

            includePreviewWersje: true

       

            Przywróć projekt Dotnet

        – zadanie: DotNetCoreCLI@2

          displayName: Przywróć

          wejścia:

            polecenie: „przywróć”

 

           Kompiluj projekt dotnet z konfiguracją wydania

        – zadanie: DotNetCoreCLI@2

          displayName: kompilacja

          wejścia:

            polecenie: buduj

            projekty: HelloWorld.csproj

            argumenty: '–konfiguracja $(buildConfiguration)'

 

           Twórz katalogi dla podpisanych artefaktów

        – powershell: New-Item -ItemType Directory -Path ./artifacts

          displayName: 'Utworzono katalogi dla artefaktów'

 

           Twórz katalogi dla podpisanych pakietów

        – powershell: New-Item -ItemType Directory -Path ./packages

          displayName: 'Utworzone katalogi dla pakietów'

 

           Skopiuj artefakt na ścieżkę podpisu

        – powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll

          displayName: „Skopiuj wbudowane artefakty do katalogu pakietów”

 

           Zapisz artefakt, aby użyć zadania podpisywania

        – zadanie: PublikujBuildArtefakty@1

          displayName: 'Zapisz do podpisania artefakt do pobrania'

          wejścia:

            ścieżka do publikacji: ./packages/HelloWorld.dll

            nazwa artefaktu: HelloWorld.dll

Napisz kroki dla etapu Znaku

– scena: Znak

    # Gdy przepływ pracy jest uruchomiony, jest to nazwa, która jest rejestrowana

    displayName: znak

    Oferty pracy:

    - stanowisko:

      basen:

         Uruchom zadanie na maszynach wirtualnych Ubuntu

        vmImage: „najnowszy Ubuntu”

      kroki:

         Twórz katalogi dla podpisanych artefaktów

      – skrypt: mkdir -p ./artifacts && mkdir -p ./packages

        displayName: „Utworzone katalogi dla artefaktów i pakietów”

 

         Pobierz artefakt do podpisania

      – zadanie: PobierzPipelineArtefakt@2

        wejścia:

          artefakt: HelloWorld.dll

          Ścieżka pobierania: ./pakiety

 

         Zainstaluj Docker 17.09.0-ce

      – zadanie: DockerInstaller@0

        displayName: Instalator platformy Docker

        wejścia:

          Wersja docker: 17.09.0-ce

          typ wydania: stabilny

 

         Docker Pull CodeSigner obraz dokowany

      – skrypt: docker pull ghcr.io/sslcom/codesigner:latest

        displayName: 'Docker Pobierz obraz dokowany CodeSigner'

         Podpisz artefakt za pomocą obrazu dokowanego CodeSigner

      – skrypt: docker run -i –rm –dns 8.8.8.8 –host sieciowy –volume $PWD/packages:/codesign/examples –volume $PWD/artefakty:/codesign/output

                -e NAZWA UŻYTKOWNIKA=$(NAZWA UŻYTKOWNIKA) -e HASŁO=$(HASŁO) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

Jeśli hasło zawiera znaki specjalne, musi być ujęte w cudzysłowy.

                -e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:najnowszy znak -input_file_path=/codesign/examples/HelloWorld.dll

                -output_dir_path=/codesign/output

        displayName: 'Podpisz artefakt za pomocą obrazu dokowanego CodeSigner'

 

         Zapisz podpisany artefakt do pobrania

      – zadanie: PublikujBuildArtefakty@1

        displayName: 'Zapisz podpisany artefakt do pobrania'

        wejścia:

          ścieżka do publikacji: ./artifacts/HelloWorld.dll

          nazwa artefaktu: HelloWorld.dll

Utwórz nowy plik .gitignore

Wpisz:

kosz

Obj

.vscode

Na pasku komunikatów wpisz Created pipeline.yml i kliknij Popełnić przycisk

SSL.com's EV Podpisywanie kodu Certyfikaty pomagają chronić Twój kod przed nieautoryzowanym manipulowaniem i naruszeniem bezpieczeństwa z najwyższym poziomem walidacji i są dostępne za jedyne $ 249 rocznie. Można również używaj swojego certyfikatu EV Code Signing na dużą skalę w chmurze za pomocą eSigner.

ZAMÓW TERAZ

Przejdź do kliknięcia Synchronizuj zmiany przycisk

Przejdź do visualstudio.com i kliknij Repo na desce rozdzielczej

Odśwież stronę, aby zobaczyć plik yml

Kliknij Rurociągi na desce rozdzielczej

Następnie kliknij Utwórz potok

Kliknij Git Azure Repos

Wybierz swój plik YAML

Kliknij Zmienne przycisk, a następnie Nowa zmienna

Umieść wartość dla każdej zmiennej środowiskowej i kliknij OK przycisk

Kliknij znak +, aby kontynuować dodawanie każdej zmiennej

Po umieszczeniu wszystkich zmiennych przejdź do tworzenia potoku

Uruchom swój potok

Kliknij Rurociągi na desce rozdzielczej. Kliknij trzy kropki (więcej opcji) w potoku. Kliknij Uruchom potok. Na koniec kliknij run przycisk.

Kliknij Build, aby rozpocząć etap kompilacji

Sprawdź, czy każda praca na etapie budowania zakończyła się sukcesem

Kliknij strzałkę w dół obok Praca aby zobaczyć status każdego zadania budowlanego

Rozpocznij etap Podpisywania, klikając Praca

Sprawdź, czy każdy krok w procesie podpisywania zakończył się pomyślnie

Sprawdź dwukrotnie, czy etapy kompilacji i podpisywania zakończyły się sukcesem

Możesz odwołać się do SSL.com Repozytorium Github, które zawiera kody źródłowe obrazu dokera i opisuje, jak go używać: https://github.com/SSLcom/ci-images 

Przykładowy potok usługi Azure DevOps

Sprawdź przykładowy potok usługi Azure DevOps, na którym utworzyliśmy https://github.com/SSLcom/codesigner-azuredevops-sample

Inne przewodniki dotyczące integracji zdalnego podpisywania

Potrzebujesz niestandardowych rozwiązań? 

Dzięki naszej wiedzy eksperckiej i pięciogwiazdkowemu personelowi pomocy technicznej jesteśmy gotowi i chętni do współpracy z Tobą w zakresie niestandardowych rozwiązań lub rabatów na podpisywanie na dużą skalę na poziomie przedsiębiorstwa. Wypełnij poniższy formularz, a skontaktujemy się z Tobą.

Twitter
Facebook
LinkedIn
Reddit
E-mail

Bądź na bieżąco i bezpiecznie

SSL.com jest światowym liderem w dziedzinie cyberbezpieczeństwa, PKI i certyfikaty cyfrowe. Zarejestruj się, aby otrzymywać najnowsze wiadomości branżowe, wskazówki i ogłoszenia o produktach od SSL.com.

Będziemy wdzięczni za Twoją opinię

Weź udział w naszej ankiecie i daj nam znać, co myślisz o swoim ostatnim zakupie.