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:
- Kup certyfikat podpisywania kodu SSL.com EV
- Zarejestruj swój certyfikat podpisywania kodu w eSigner
- Pobierz i zainstaluj eSigner CKA
Przykładowe przepływy pracy podpisywania .vsix
Zmienne środowiskowe- USERNAME: Nazwa użytkownika konta SSL.com. (Wymagany)
- HASŁO: Hasło do konta SSL.com (wymagane)
- TOTP_SECRET: Klucz tajny TOTP protokołu OAuth. Możesz uzyskać dostęp do szczegółowych informacji na temat Zautomatyzuj podpisywanie kodu eSigner EV – SSL.com (Wymagany)
- TRYB: „piaskownica” lub „produkt” (wymagany)
.DLL kodu NET Przykładowe przepływy pracy podpisywania
Przykładowy przepływ pracy z podpisywaniem biblioteki DLL kodu .NET
Przygotuj elementy przepływu pracy
- Utwórz folder .circleci w swoim edytorze. Dołącz przepływy pracy do folderu i utwórz plik yml jako config.yml w folderze.
- Ustaw wersję CircleCI. Pole wersji jest przeznaczone do wydawania ostrzeżeń o wycofaniu lub istotnych zmianach.
Wersja: 2.1
-
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
-
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
- Zdefiniuj zadanie do późniejszego wywołania w przepływie pracy.
Oferty pracy:
plik podpisu:
- 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
- Umieść katalog roboczy dla zadania
katalog_roboczy: /home/circleci/projekt
- Dodaj kroki do zadania Zobacz: https://circleci.com/docs/2.0/configuration-reference/#steps
kroki:
- Sprawdź kod źródłowy, aby przepływ pracy miał do niego dostęp.
- sprawdzić
- 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”
- 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
- 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
- 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
- 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
- Utwórz folder .github/workflows w swoim edytorze. Dołącz przepływy pracy do folderu i utwórz plik sign.yml w folderze.
- Nazwij swój projekt i rodzaj przepływu pracy
Nazwa: Znak artefaktu
-
Uruchom ten przepływ pracy w trybie push
włączony: wciśnij
-
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
-
Zdefiniuj oferty pracy w swoim edytorze
Oferty pracy:
plik podpisu:
-
Uruchom zadanie w Windows Runneruruchomione: Windows-najnowsze
-
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
-
Sprawdź kod źródłowy, aby przepływ pracy miał do niego dostęp.
– nazwa: Repozytorium kasy
używa:actions/checkout@v3
- 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” - 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
- 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
- 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 - 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 - 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
- Cprzetwórz plik yml jako .gitlab-ci.yml w folderze.
- 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
- Grupuje zadania w etapy. Wszystkie zadania w jednym etapie muszą zostać zakończone przed wykonaniem następnego etapu.
gradacja:
- podpisać
- Poniżej znajduje się definicja twojego zadania do podpisania pliku. Zdefiniuj, na jakim etapie zadanie będzie działać.
plik podpisu:
etap: znak
- Nazwa co najmniej jednego zadania, z którego ma zostać odziedziczona konfiguracja.
rozciąga się:
– .windows_runners - 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
- Utwórz plik yml jako .travis.yml w folderze głównym.
- Umieść architekturę procesora, na której ma zostać uruchomione zadanie.
łuk: amd64
- Domyślny język uruchamiania zadań w Travis CI
język: csharp
- System operacyjny, na którym ma zostać uruchomione zadanie
system operacyjny: Windows
- Określ kolejność etapów. Wszystkie prace w jednym etapie muszą zostać zakończone przed wykonaniem kolejnego etapu.
gradacja:
- podpisać
- Zdefiniuj etap budowy
Oferty pracy:
zawierać:
– scena: znak
-
Nazwa pracy
nazwa: plik podpisu -
System operacyjny, na którym ma zostać uruchomione zadanie
system operacyjny: Windows -
Bieżący język do uruchamiania zadań w Travis CI
język: ok -
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'
-
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ą.