Gebruik
- naam: Artefact ondertekenen met CodeSignTool
toepassingen: sslcom/actions-codesigner@develop
met:
- CodeSignTool-opdrachten:
- get_credential_ids
: Voer de lijst uit met eSigner-referentie-ID's die aan een gebruiker zijn gekoppeld.
- credential_info
: Uitvoersleutel en certificaatinformatie met betrekking tot een referentie-ID.
- sign
: teken- en tijdstempelcode-object.
- batch_sign
: Onderteken en tijdstempel meerdere code-objecten met één OTP.
- hash
: Pre-bereken hash(es) voor later gebruik met de opdracht batch_hash_sign.
- batch_sign_hash
: teken hash(es) vooraf berekend met hash-opdracht.
opdracht: teken
- gebruikersnaam van SSL.com-account.
username: ${{secrets.ES_USERNAME}}
- SSL.com-accountwachtwoord.
password: ${{secrets.ES_PASSWORD}}
- Referentie-ID voor ondertekeningscertificaat.
credential_id: ${{secrets.CREDENTIAL_ID}}
- OAuth TOTP-geheim (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
- Pad van codeobject dat moet worden ondertekend.
file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar
- Directory waar ondertekende code-object(en) worden geschreven.
output_path: ${GITHUB_WORKSPACE}/artifacts
Ingangen
- gebruikersnaam: gebruikersnaam van SSL.com-account. (Verplicht)
- wachtwoord: SSL.com-accountwachtwoord (vereist)
- referentie_id: Referentie-ID voor ondertekeningscertificaat. Als credential_id wordt weggelaten en de gebruiker slechts één eSigner-certificaat voor het ondertekenen van code heeft, zal CodeSignTool dat standaard gebruiken. Als de gebruiker meer dan één code-ondertekeningscertificaat heeft, is deze parameter verplicht. (Verplicht)
- totp_geheim: OAuth TOTP-geheim. U hebt toegang tot gedetailleerde informatie over: https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Verplicht)
- bestandspad: Pad van codeobject dat moet worden ondertekend. (Verplicht)
- uitvoer_pad: Directory waar ondertekende code-object(en) zullen worden geschreven. Als output_path wordt weggelaten, wordt het bestand gespecificeerd in -file_path overschreven door het ondertekende bestand.
Java-code (Maven) JAR-ondertekeningsvoorbeeld workflow
Bereid de componenten van de workflow voor
- Maak een Github-map op uw editor. Voeg workflows toe aan de map en maak een yml-bestand onder de map.
- Geef uw project een naam en het type workflow dat erbij betrokken is
Naam: Maven Build and Sign
- Activeer deze workflow met een push
aan: duwen
- Een omgevingsvariabele maken
- Omgevingsvariabelen worden gebruikt om de voorbeelden leesbaarder te maken. In de bovenstaande schermafbeelding van de voorbeeldworkflow zijn de PROJECT_NAME, PROJECT_VERSION en MAVEN_VERSION optioneel weggelaten. Zelfs met deze omissies kan het ondertekenen nog steeds doorgaan.
env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
- Definieer de taken op uw editor
jobs: build-and-sign-jar:
- Taak uitvoeren op Ubuntu Runner
draait op: ubuntu-nieuwste
- Maak een naam. Wanneer de workflow wordt uitgevoerd, is dit de naam die wordt vastgelegd.
naam: CodeSigner op Java met Maven
Beschrijf de stappen voor het uitchecken van de broncode, het instellen van de Java- en Maven-omgeving en het maken van Artifact Directory.
1) Bekijk de broncode zodat de workflow er toegang toe heeft.
stappen: - gebruikt: actions/checkout@v2
2) Stel de Java- en Maven-omgeving in voor de workflow die moet worden gebruikt.
- naam: installeer Maven en Java gebruikt: s4u/setup-maven-action@v1.3.1 met: java-versie: '${{env.JAVA_VERSION}}' maven-versie: '${{env.MAVEN_VERSION}}'
3) Maak een artefactmap om ondertekende en niet-ondertekende artefactbestanden op te slaan
- naam: Directory-shell maken: bash run: | mkdir ${GITHUB_WORKSPACE}/artefacten mkdir ${GITHUB_WORKSPACE}/pakketten
4) Bouw een maven-project of -oplossing en al zijn afhankelijkheden.
Nadat het jar-bestand is gemaakt, kopieert u naar de map 'packages' om te ondertekenen
- In deze schriftelijke ondertekeningsvoorbeeldworkflow zijn meerdere projecttypen gemaakt. Dit is de reden waarom bestanden van verschillende projecttypes werden bewaard door submappen te maken. Er is een submap met de naam 'java' gemaakt voor Java-projecten. In de demo-screenshot hierboven was het niet nodig om een submap met de naam 'java' te maken, dus deze was niet opgenomen in het script.
- naam: Build Java Project shell: bash run: | mvn schone installatie -f java/pom.xml cp java/target/${{env.PROJECT_NAME}}-${{env.PROJECT_VERSION}}.jar ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}. kan
Geef een overzicht van de stappen voor de onderteken- en uploadtaken
- De Sign-taak is de stap waarbij de gemaakte JAR-bestanden (artefact) worden ondertekend met CodeSignTool.
- naam: Sign Artifact gebruikt: sslcom/actions-codesigner@develop met:
Teken en tijdstempel code-object.
commando: teken
gebruikersnaam van SSL.com-account.
gebruikersnaam: ${{secrets.ES_USERNAME}}
SSL.com-accountwachtwoord.
wachtwoord: ${{secrets.ES_PASSWORD}}
Referentie-ID voor ondertekeningscertificaat.
credential_id: ${{geheimen.CREDENTIAL_ID}}
OAuth TOTP-geheim (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{geheimen.ES_TOTP_SECRET}}
Pad van codeobject dat moet worden ondertekend. (DLL, JAR, EXE, MSI-bestanden vb...)
bestandspad: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar
Directory waar ondertekende code-object(en) worden geschreven.
uitvoerpad: ${GITHUB_WORKSPACE}/artefacten
- De uploadtaak is de stap waar artefacten uit uw workflow worden geüpload, zodat u gegevens tussen taken kunt delen en gegevens kunt opslaan zodra een workflow is voltooid
- naam: Ondertekende bestanden uploaden gebruikt: acties/upload-artifact@v2 met: naam: ${{env.PROJECT_NAME}}.jar pad: ./artifacts/${{env.PROJECT_NAME}}.jar
Download een build-artefact-uploader van Github Marketplace
Controleer uw codeerscript
Over het algemeen zou het codeerscript voor de buld-, sign- en uploadtaken eruit moeten zien als de onderstaande afbeelding. Zorg ervoor dat u eventuele fouten, zoals verkeerde spelling of foutieve regeleinden in het script, corrigeert, zodat het ondertekeningsproces soepel verloopt.
Definieer uw omgevingsvariabelen
Ga naar de locatie van je project op je Github-account. Klik op de Acties tab. Klik op de Nieuw repositorygeheim om de waarden voor elke omgevingsvariabele te plaatsen die vereist zijn bij het ondertekenen van uw code.
Maak een nieuwe repository op de opdrachtregel
Ga naar de locatie van uw project op Github en kopieer elk onderdeel van de push-opdracht.
Duw het project
Neem elke push-opdrachtregel op in uw code-editor. Na voltooiing wordt de code automatisch op Github gepusht.
Wacht tot het artefact is ondertekend met eSigner CodeSignTool
Upload het ondertekende bestand
Klik op het ondertekende bestand om het te uploaden.
Voorbeeld Github Actions-pijplijn
Bekijk de voorbeeld Github Actions-pijplijn waarop we hebben gemaakt github.com/SSLcom/codesigner-github-sample
Andere integratiehandleidingen voor CI/CD Remote Signing
- Integratie van Cloud Code Signing met CircleCI
- Cloud Code Signing-integratie met GitLab CI
- Integratie van Cloud Code Signing met Jenkins CI
- Cloud Code Signing-integratie met Travis CI
- Cloud Code Signing-integratie met Azure DevOps
- Cloud Code Signing-automatisering met CI/CD-services
Oplossingen op maat nodig?
Met onze deskundige kennis en vijfsterrenondersteuningspersoneel staan we klaar en bereid om met u samen te werken aan aangepaste oplossingen of grote ondertekeningskortingen op ondernemingsniveau. Vul het onderstaande formulier in en we nemen contact met je op.