Používání
- název: Podepište artefakt pomocí CodeSignTool
použití: sslcom/actions-codesigner@develop
s:
- Příkazy CodeSignTool:
- get_credential_ids
: Výstup seznamu ID pověření eSigner přidružených k uživateli.
- credential_info
: Výstupní klíč a informace o certifikátu související s ID pověření.
- sign
: Objekt kódu podpisu a časového razítka.
- batch_sign
: Podepisování a časové razítko více objektů kódu pomocí jednoho OTP.
- hash
: Předpočítat hash(y) pro pozdější použití s příkazem batch_hash_sign.
- batch_sign_hash
: Podepište hash(y) předem vypočítané pomocí příkazu hash.
příkaz: podepsat
- Uživatelské jméno účtu SSL.com.
username: ${{secrets.ES_USERNAME}}
- Heslo účtu SSL.com.
password: ${{secrets.ES_PASSWORD}}
- ID pověření pro podpis certifikátu.
credential_id: ${{secrets.CREDENTIAL_ID}}
- OAuth TOTP Secret (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
- Cesta objektu kódu, který má být podepsán.
file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar
- Adresář, kam budou zapsány podepsané objekty kódu.
output_path: ${GITHUB_WORKSPACE}/artifacts
Vstupy
- uživatelské jméno: Uživatelské jméno účtu SSL.com. (Požadované)
- heslo: Heslo účtu SSL.com (vyžadováno)
- credential_id: ID pověření pro podpisový certifikát. Pokud je credential_id vynecháno a uživatel má pouze jeden certifikát pro podpis kódu eSigner, CodeSignTool jej použije jako výchozí. Pokud má uživatel více než jeden certifikát pro podpis kódu, je tento parametr povinný. (Požadované)
- totp_secret: Tajné OAuth TOTP. Podrobné informace získáte na https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Povinné)
- cesta_souboru: Cesta objektu kódu, který má být podepsán. (Požadované)
- výstupní cesta: Adresář, do kterého budou zapsány podepsané objekty kódu. Pokud je výstupní_cesta vynechána, soubor zadaný v -file_path bude přepsán podepsaným souborem.
Příklad pracovního postupu podepisování JAR kódu Java (Maven).
Připravte součásti pracovního postupu
- Ve svém editoru vytvořte složku Github. Zahrňte do složky pracovní postupy a vytvořte pod složkou soubor yml.
- Pojmenujte svůj projekt a typ pracovního postupu
Název: Maven Build and Sign
- Spusťte tento pracovní postup pouhým stisknutím tlačítka
na: tlačit
- Vytvořte proměnnou prostředí
- Proměnné prostředí se používají k lepší čitelnosti vzorků. Na výše uvedeném snímku obrazovky příkladu pracovního postupu byly volitelně vynechány PROJECT_NAME, PROJECT_VERSION a MAVEN_VERSION. Podepisování může pokračovat i přes tato opomenutí.
env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
- Definujte úlohy ve svém editoru
úlohy: build-and-sign-jar:
- Spusťte úlohu na Ubuntu Runner
run-on: ubuntu-latest
- Vytvořte jméno. Při spuštění pracovního postupu je toto jméno protokolováno.
název: CodeSigner na Javě s Maven
Nastíněte kroky pro kontrolu zdrojového kódu, nastavení prostředí Java a Maven a vytvoření adresáře artefaktů.
1) Podívejte se na zdrojový kód, aby k němu měl pracovní postup přístup.
kroky: - používá: actions/checkout@v2
2) Pro pracovní postup nastavte prostředí Java a Maven.
- jméno: Instalovat Maven a Java používá: s4u/setup-maven-action@v1.3.1 s: java-version: '${{env.JAVA_VERSION}}' maven-version: '${{env.MAVEN_VERSION}}'
3) Vytvořte adresář artefaktů pro ukládání podepsaných a nepodepsaných souborů artefaktů
- jméno: Vytvořit Adresářový shell: bash spustit: | mkdir ${GITHUB_WORKSPACE}/artifacts mkdir ${GITHUB_WORKSPACE}/balíčky
4) Vytvořte maven projekt nebo řešení a všechny jeho závislosti.
Po vytvoření souboru jar zkopírujte do složky 'packages' pro podepsání
- V tomto pracovním postupu písemného příkladu podepisování bylo vytvořeno několik typů projektů. To je důvod, proč byly soubory různých typů projektů udržovány vytvořením podsložek. Pro projekty Java byla vytvořena podsložka s názvem 'java'. Na ukázkovém snímku obrazovky výše nebylo nutné vytvářet podsložku s názvem „java“, takže to nebylo součástí skriptu.
- název: Build Java Project shell: bash spustit: | mvn čistá instalace -f java/pom.xml cp java/target/${{env.PROJECT_NAME}}-${{env.PROJECT_VERSION}}.jar ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}. sklenice
Nastiňte kroky pro úlohy Podepsat a Nahrát
- Úloha Sign je krok, kde budou vytvořené soubory JAR (artefakt) podepsány pomocí CodeSignTool.
- jméno: Sign Artefakt používá: sslcom/actions-codesigner@develop with:
Objekt kódu znaku a časového razítka.
příkaz: podepsat
Uživatelské jméno účtu SSL.com.
uživatelské jméno: ${{secrets.ES_USERNAME}}
Heslo účtu SSL.com.
heslo: ${{secrets.ES_PASSWORD}}
ID pověření pro podpis certifikátu.
credential_id: ${{secrets.CREDENTIAL_ID}}
OAuth TOTP Secret (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
Cesta objektu kódu, který má být podepsán. (DLL, JAR, EXE, MSI soubory vb…)
cesta k souboru: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar
Adresář, kam budou zapsány podepsané objekty kódu.
output_path: ${GITHUB_WORKSPACE}/artifacts
- Úloha nahrávání je krok, kdy budou nahrány artefakty z vašeho pracovního postupu, což vám umožní sdílet data mezi úlohami a ukládat data po dokončení pracovního postupu.
- název: Nahrát podepsané soubory používá: actions/upload-artifact@v2 with: name: ${{env.PROJECT_NAME}}.jar cesta: ./artifacts/${{env.PROJECT_NAME}}.jar
Získejte nástroj pro nahrávání artefaktů sestavení z Github Marketplace
Zkontrolujte svůj kódovací skript
Celý kódovací skript pro úlohy sestavení, podepsání a nahrání by měl vypadat jako na obrázku níže. Ujistěte se, že jste opravili všechny chyby, jako je nesprávný pravopis nebo chybné konce řádků ve skriptu, aby proces podepisování probíhal hladce.
Definujte své proměnné prostředí
Přejděte do umístění vašeho projektu na vašem účtu Github. Klikněte na Akce záložka. Klepněte na tlačítko Nové tajemství úložiště tlačítko pro umístění hodnot pro každou proměnnou prostředí vyžadovanou při podepisování vašeho kódu.
Vytvořte nové úložiště na příkazovém řádku
Pokračujte do umístění vašeho projektu na Github a zkopírujte každou komponentu příkazu push.
Pusťte projekt
Zahrňte každý příkazový řádek push do svého editoru kódu. Po dokončení bude kód automaticky odeslán na Github.
Počkejte, až bude artefakt podepsán pomocí nástroje eSigner CodeSignTool
Nahrajte podepsaný soubor
Kliknutím na podepsaný soubor jej nahrajete.
Ukázkový kanál akcí Github
Podívejte se na ukázkový kanál Github Actions, na kterém jsme vytvořili github.com/SSLcom/codesigner-github-sample
Další příručky pro integraci vzdáleného podepisování CI/CD
- Integrace cloudového podepisování kódu s CircleCI
- Integrace cloudového kódového podpisu s GitLab CI
- Integrace cloudového podepisování kódu s Jenkins CI
- Integrace cloudového podepisování kódu s Travis CI
- Integrace cloudového podepisování kódu s Azure DevOps
- Cloudová automatizace podepisování kódu se službami CI/CD
Potřebujete vlastní řešení?
S našimi odbornými znalostmi a pětihvězdičkovým podpůrným personálem jsme připraveni a ochotni s vámi spolupracovat na vlastních řešeních nebo slevách na velkoobjemové podpisy na podnikové úrovni. Vyplňte formulář níže a my se vám ozveme.