Ikona witryny SSL.com

Jak zintegrować eSigner CKA z narzędziami CI/CD do automatycznego podpisywania kodu

Dwie poniższe tabele pokazują, jak zintegrować eSigner CKA z Narzędzia ciągłej integracji/ciągłego dostarczania (CI/CD). dla automatyczne podpisywanie kodu. Do podpisu udostępniane są przewodniki dotyczące CircleCI, GitHub Actions, Gitlab CI i Travis CI Pliki .NET. Do podpisywania udostępniane są przewodniki dotyczące Azure Pipeline, GitHub Actions, Gitlab CI i Travis CI pliki .vsix.

eSigner CKA (adapter klucza w chmurze) to aplikacja oparta na systemie Windows, która wykorzystuje interfejs CNG (KSP Key Service Provider), aby umożliwić narzędziom takim jak certutil.exe i signtool.exe korzystanie z Interfejs API zgodny z eSigner Cloud Signature Consortium (CSC).  dla operacji podpisywania kodu przedsiębiorstwa. Aby móc podpisywać kod w oparciu o eSigner na narzędziach CI/CD, muszą być spełnione trzy warunki wstępne:

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

Przykładowe przepływy pracy podpisywania .vsix

Zmienne środowiskowe
Przykładowe kody można znaleźć w SSL.com Repozytorium Github pod adresem: https://github.com/SSLcom/esigner-sample

.DLL kodu NET Przykładowe przepływy pracy podpisywania

Integracja CircleCIIntegracja akcji GitHubIntegracja Gitlab CIIntegracja Travis CI

Przykładowy przepływ pracy z podpisywaniem biblioteki DLL kodu .NET

Przygotuj elementy przepływu pracy

  1. Utwórz folder .circleci w swoim edytorze. Dołącz przepływy pracy do folderu i utwórz plik yml jako config.yml w folderze.
  2. Ustaw wersję CircleCI. Pole wersji jest przeznaczone do wydawania ostrzeżeń o wycofaniu lub istotnych zmianach.

    Wersja: 2.1

  3. Kule to pakiety konfiguracji CircleCI wielokrotnego użytku, które można udostępniać w różnych projektach, umożliwiając tworzenie hermetyzowanych, sparametryzowanych poleceń, zadań i executorów, których można używać w wielu projektach. Aby użyć narzędzia signtool, musi to być system Windows.

    kule:

       wygrana: circleci/windows@5.0.0

  4. Wywołaj zadania za pomocą przepływów pracy. Przepływy pracy koordynują zestaw zadań do wykonania. 

    przepływy pracy:

       # Nazwa przepływu pracy.

       plik podpisu:

          # Wewnątrz przepływu pracy definiujesz zadania, które chcesz uruchomić.

             Oferty pracy:

                – plik podpisu

  5. Zdefiniuj zadanie do późniejszego wywołania w przepływie pracy.

    Oferty pracy:

       plik podpisu:

  6. Określ środowisko wykonawcze. Musimy użyć programu wykonawczego Windows, ponieważ potrzebne jest narzędzie signtool.

    wykonawca:

       nazwa: win/server-2019

       średni rozmiar

       wariant: vs 2019

  7. Umieść katalog roboczy dla zadania 

    katalog_roboczy: /home/circleci/projekt

  8. Dodaj kroki do zadania Zobacz: https://circleci.com/docs/2.0/configuration-reference/#steps  

    kroki:

  9. Sprawdź kod źródłowy, aby przepływ pracy miał do niego dostęp.

    - sprawdzić

  10. Pobierz i rozpakuj konfigurację eSignerCKA

    - biegać:

          name: Pobierz i rozpakuj konfigurację eSignerCKA

          komenda: |

             Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip „https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”

             Rozwiń archiwum — Wymuś eSigner_CKA_1.0.3.zip

             Usuń element eSigner_CKA_1.0.3.zip

             Move-Item - Miejsce docelowe „eSigner_CKA_1.0.3.exe” - Ścieżka „eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”

  11. Zainstaluj eSignerCKA

    - biegać:

          nazwa: Ustaw eSignerCKA w trybie cichym

          komenda: |

                mkdir -p „/home/circleci/project/eSignerCKA”

                ./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”/home/circleci/project/eSignerCKA” | Out-Null

  12. Ustaw informacje o koncie SSLcom na eSignerCKA

    - biegać:

          name: Skonfiguruj informacje o koncie na eSignerCKA

          komenda: |

                /home/circleci/project/eSignerCKA/eSignerCKATool.exe config -mode $env:MODE -user “$env:USERNAME” -pass “$env:PASSWORD” -totp “$env:TOTP_SECRET” -key “/home/circleci /project/eSignerCKA/master.key” -r

  13. Zwolnij i załaduj certyfikat do magazynu certyfikatów systemu Windows

    - biegać:

          nazwa: Załaduj certyfikat do Sklepu Windows

          komenda: |

                /home/circleci/project/eSignerCKA/eSignerCKATool.exe wyładuj

                /home/circleci/project/eSignerCKA/eSignerCKATool.exe załaduj

  14. Wybierz certyfikat podpisywania kodu i uzyskaj odcisk palca do podpisywania i podpisuj artefakt za pomocą narzędzia do znakowania

    - biegać:

          name: Wybierz Certyfikat ze Sklepu Windows i podpisz przykładowy plik za pomocą narzędzia SignTool

          komenda: |

                $CodeSigningCert = Certyfikat Get-ChildItem:CurrentUserMy -CodeSigningCert | Wybierz obiekt - Najpierw 1

                & „C:Program Files (x86)Windows Kits10App Certification Kitsigntool.exe” znak /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 „$($CodeSigningCert.Thumbprint)” „HelloWorld. dll”

Przykładowy przepływ pracy z podpisywaniem biblioteki DLL kodu .NET

Przygotuj elementy przepływu pracy

  1. Utwórz folder .github/workflows w swoim edytorze. Dołącz przepływy pracy do folderu i utwórz plik sign.yml w folderze.
  2. Nazwij swój projekt i rodzaj przepływu pracy 

    Nazwa: Znak artefaktu

  3. Uruchom ten przepływ pracy w trybie push 

    włączony: wciśnij

  4. Utwórz zmienną środowiskową

    śr:

     MASTER_KEY: główny.klucz

     SIGNABLE_FILE_PATH: HelloWorld.dll

     INSTALL_DIR: C:UsersrunneradmineSignerCKA

     MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key

  5. Zdefiniuj oferty pracy w swoim edytorze

    Oferty pracy:

     plik podpisu:

  6. Uruchom zadanie w Windows Runneruruchomione: Windows-najnowsze

  7. Utwórz nazwę. Po uruchomieniu przepływu pracy jest to nazwa, która jest rejestrowana.

    name: Podpisz plik DLL za pomocą eSignerCKA

Przedstaw kroki dla zadania Sign

  1. Sprawdź kod źródłowy, aby przepływ pracy miał do niego dostęp.

    – nazwa: Repozytorium kasy

       używa:actions/checkout@v3

  2. Pobierz i rozpakuj konfigurację eSignerCKA

    – nazwa: Pobierz i rozpakuj konfigurację eSignerCKA

      biegać: |

          Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip „https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”

          Rozwiń archiwum — Wymuś eSigner_CKA_1.0.3.zip

          Usuń element eSigner_CKA_1.0.3.zip

          Move-Item - Miejsce docelowe „eSigner_CKA_1.0.3.exe” - Ścieżka „eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”
  3. Zainstaluj eSignerCKA

    – nazwa: Ustaw eSignerCKA w trybie cichym

      biegać: |

          Nowy element - Katalog typu elementu - Wymuś - Ścieżka ${{ env.INSTALL_DIR }}

          ./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{env.INSTALL_DIR }}” | Out-Null

  4. Ustaw informacje o koncie SSL.com na eSignerCKA

    – nazwa: Konfiguruj informacje o koncie na eSignerCKA

      biegać: |

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode „${{ secrets.MODE }}” -user „${{ secrets.USERNAME }}”

         -pass “${{ sekrety.HASŁO }}” -totp “${{ sekrety.TOTP_SECRET }}” -key “${{ env.MASTER_KEY_FILE }}” -r

  5. Zwolnij i załaduj certyfikat do magazynu certyfikatów systemu Windows

    – nazwa: Załaduj certyfikat do Sklepu Windows

      biegać: |

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe wyładuj

          Ładowanie ${{ env.INSTALL_DIR }}/eSignerCKATool.exe
  6. Wybierz certyfikat podpisywania kodu i uzyskaj odcisk palca do podpisania

    – nazwa: Wybierz Certyfikat ze Sklepu Windows

      biegać: |

          $CodeSigningCert = Certyfikat Get-ChildItem:CurrentUserMy -CodeSigningCert | Wybierz obiekt - Najpierw 1

          echo „THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV
  7. Podpisz artefakt za pomocą narzędzia do znakowania

    – nazwa: Podpisz przykładowy plik za pomocą SignTool

      biegać: |

          & „C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe” znak /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}

Przykładowy przepływ pracy z podpisywaniem biblioteki DLL kodu .NET

Zdefiniuj składniki przepływu pracy

  1. Cprzetwórz plik yml jako .gitlab-ci.yml w folderze.
  2. Służy do wybierania biegaczy z listy dostępnych biegaczy. Runner musi mieć wszystkie wymienione tutaj tagi, aby uruchomić zadanie.

    .windows_runners:

          tagi:

                – wspólne okna

                – okna

                – okna-1809

  3. Grupuje zadania w etapy. Wszystkie zadania w jednym etapie muszą zostać zakończone przed wykonaniem następnego etapu.

    gradacja:

          - podpisać

  4. Poniżej znajduje się definicja twojego zadania do podpisania pliku. Zdefiniuj, na jakim etapie zadanie będzie działać.

    plik podpisu:

         etap: znak

  5. Nazwa co najmniej jednego zadania, z którego ma zostać odziedziczona konfiguracja.

    rozciąga się:

         – .windows_runners
  6. Napisz skrypt do podpisania pliku.

    scenariusz:

    # Pobierz i rozpakuj konfigurację eSignerCKA

       – powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip „https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3″”

       – powershell.exe – ExecutionPolicy Bypass – Polecenie „Rozwiń archiwum – Wymuś eSigner_CKA_1.0.3.zip”

       – powershell.exe - ExecutionPolicy Bypass - Polecenie „Usuń element eSigner_CKA_1.0.3.zip”

       – powershell.exe -ExecutionPolicy Bypass -Polecenie „Przenieś element - Miejsce docelowe „eSigner_CKA_1.0.3.exe” - Ścieżka „eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe””


    # Skonfiguruj eSignerCKA w trybie cichym

    – powershell.exe -ExecutionPolicy Bypass -Polecenie './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Usersgitlab_runnerDesktopeSignerCKA””


    # Sprawdź katalog instalacyjny

    – powershell.exe - ExecutionPolicy Bypass - Polecenie „katalog C:Usersgitlab_runnerDesktopeSignerCKA”


    # Skonfiguruj informacje o koncie na eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Polecenie „C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}

         -user „${USERNAME}” -pass „${PASSWORD}” -totp „${TOTP_SECRET}” -key „C:Usersgitlab_runnerAppDataRoamingeSignerCKAmaster.key” -r'


    # Wyładuj certyfikat do Sklepu Windows

    – powershell.exe - ExecutionPolicy Bypass - Polecenie „C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe wyładuj”


    # Załaduj certyfikat do Sklepu Windows

    – powershell.exe - ExecutionPolicy Bypass - Polecenie „C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe ładowanie”


       # Sprawdź katalog danych

       – powershell.exe -ExecutionPolicy Bypass -Polecenie „dir C:Usersgitlab_runnerAppDataRoamingeSignerCKA”


       # Sprawdź katalog danych konfiguracyjnych

       – powershell.exe -ExecutionPolicy Bypass -Polecenie „dir C:Usersgitlab_runnerAppDataRoamingeSignerCKAConfig”


    # Wybierz Certyfikat ze Sklepu Windows

    – powershell.exe -ExecutionPolicy Bypass -Polecenie '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Wybierz obiekt -First 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'

    # Odcisk palca certyfikatu debugowania

    – powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Odcisk palca'


    # Podpisz przykładowy plik za pomocą SignTool

    – powershell.exe -ExecutionPolicy Bypass -Command „Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);

         „C: Program Files (x86)Windows Kits10bin10.0.17763.0x86signtool.exe znak /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll”

Przykładowy przepływ pracy z podpisywaniem biblioteki DLL kodu .NET

Zdefiniuj składniki przepływu pracy

  1. Utwórz plik yml jako .travis.yml w folderze głównym.
  2. Umieść architekturę procesora, na której ma zostać uruchomione zadanie.

    łuk: amd64

  3. Domyślny język uruchamiania zadań w Travis CI

    język: csharp

  4. System operacyjny, na którym ma zostać uruchomione zadanie

    system operacyjny: Windows

  5. Określ kolejność etapów. Wszystkie prace w jednym etapie muszą zostać zakończone przed wykonaniem kolejnego etapu.

    gradacja:

      - podpisać

  6. Zdefiniuj etap budowy

    Oferty pracy:

      zawierać:

         – scena: znak

  7. Nazwa pracy

    nazwa: plik podpisu
  8. System operacyjny, na którym ma zostać uruchomione zadanie

    system operacyjny: Windows
  9. Bieżący język do uruchamiania zadań w Travis CI

    język: ok
  10. Napisz skrypt Przed, który zostanie uruchomiony przed zbudowaniem projektu

    przed_skryptem:

        – powershell.exe -ExecutionPolicy Bypass -Polecenie „Nowy element -Katalog typu elementu -Wymuś -Ścieżka C:Userstravisbuildpróbka projektantaeSignerCKASSLcom'

  11. Napisz skrypt do zbudowania projektu.

    scenariusz:

    # Pobierz i rozpakuj konfigurację eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip „https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3″”

    – powershell.exe – ExecutionPolicy Bypass – Polecenie „Rozwiń archiwum – Wymuś eSigner_CKA_1.0.3.zip”

    – powershell.exe - ExecutionPolicy Bypass - Polecenie „Usuń element eSigner_CKA_1.0.3.zip”

    – powershell.exe -ExecutionPolicy Bypass -Polecenie „Przenieś element - Miejsce docelowe „eSigner_CKA_1.0.3.exe” - Ścieżka „eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe””


    # Skonfiguruj eSignerCKA w trybie cichym

    – powershell.exe -ExecutionPolicy Bypass -Polecenie './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuildpróbka projektantaeSignerCKASSLcom” | Out-Null'


    # Sprawdź katalog instalacyjny

    – powershell.exe -ExecutionPolicy Bypass -Polecenie „katalog C:Userstravisbuildpróbka projektantaeSignerCKASSLcom'


    # Skonfiguruj informacje o koncie na eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Polecenie „C:Userstravisbuildpróbka projektantaeSignerCKASSLcomeSignerCKATool.exe konfiguracja -mode ${MODE} -user "${USERNAME}"

       -pass „${HASŁO}” -totp „${TOTP_SECRET}” -klucz „C:Userstravisbuildpróbka projektantaeSignerCKASSLcommaster.key” -r'


    # Wyładuj certyfikat do Sklepu Windows

    – powershell.exe -ExecutionPolicy Bypass -Polecenie „C:Userstravisbuildpróbka projektantaeSignerCKASSLcomeSignerCKATool.exe wyładuj”


    # Załaduj certyfikat do Sklepu Windows

    – powershell.exe -ExecutionPolicy Bypass -Polecenie „C:Userstravisbuildpróbka projektantaeSignerCKASSLcomeSignerCKATool.exe ładuje”


    # Wybierz Certyfikat ze Sklepu Windows

    – powershell.exe -ExecutionPolicy Bypass -Polecenie '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Wybierz obiekt -First 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'


    # Odcisk palca certyfikatu debugowania

    – powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Odcisk palca'


    # Podpisz przykładowy plik za pomocą SignTool

    – powershell.exe -ExecutionPolicy Bypass -Polecenie „Ustaw zmienną -Nazwa Odcisk palca -Wartość (Get-Content .Thumbprint); „C:Pliki programów (x86)Windows Kits10binx64signtool.exe znak /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll”

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ą.

Zamknij wersję mobilną