bruk
- Navn: Signer artefakt med CodeSignTool
bruksområder: sslcom/actions-codesigner@develop
med:
- CodeSignTool-kommandoer:
- get_credential_ids
: Skriv ut listen over eSigner-legitimasjons-ID-er knyttet til en bruker.
- credential_info
: Utgangsnøkkel og sertifikatinformasjon relatert til en legitimasjons-ID.
- sign
: Kodeobjekt for tegn og tidsstempel.
- batch_sign
: Signer og tidsstempler flere kodeobjekter med en OTP.
- hash
: Forhåndsberegn hash(er) for senere bruk med kommandoen batch_hash_sign.
- batch_sign_hash
: Signer hash(er) forhåndsberegnet med hash-kommando.
kommando: undertegne
- SSL.com-konto brukernavn.
username: ${{secrets.ES_USERNAME}}
- SSL.com-kontopassord.
password: ${{secrets.ES_PASSWORD}}
- Legitimasjons-ID for signering av sertifikat.
credential_id: ${{secrets.CREDENTIAL_ID}}
- OAuth TOTP-hemmelighet (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
- Banen til kodeobjektet som skal signeres.
file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar
- Katalog hvor signert kodeobjekt(er) vil bli skrevet.
output_path: ${GITHUB_WORKSPACE}/artifacts
Innganger
- brukernavn: SSL.com-konto brukernavn. (Obligatorisk)
- passord: SSL.com-kontopassord (påkrevd)
- credential_id: Legitimasjons-ID for signering av sertifikat. Hvis credential_id er utelatt og brukeren bare har ett eSigner-kodesigneringssertifikat, vil CodeSignTool som standard bruke det. Hvis brukeren har mer enn ett kodesigneringssertifikat, er denne parameteren obligatorisk. (Obligatorisk)
- totp_secret: OAuth TOTP-hemmelighet. Du kan få tilgang til detaljert informasjon om https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Nødvendig)
- filsti: Banen til kodeobjektet som skal signeres. (Obligatorisk)
- output_path: Katalog hvor signert kodeobjekt(er) vil bli skrevet. Hvis output_path er utelatt, vil filen spesifisert i -file_path bli overskrevet med den signerte filen.
Java Code (Maven) JAR-signeringseksempel arbeidsflyt
Forbered komponentene i arbeidsflyten
- Opprett en Github-mappe på editoren din. Inkluder arbeidsflyter med mappen og lag en yml-fil under mappen.
- Navngi prosjektet og typen arbeidsflyt som er involvert
Navn: Maven Bygg og Sign
- Utløs denne arbeidsflyten på et trykk
på: trykk
- Lag en miljøvariabel
- Miljøvariabler brukes for å gjøre prøvene mer lesbare. I skjermbildet ovenfor av eksempelarbeidsflyten ble PROJECT_NAME, PROJECT_VERSION og MAVEN_VERSION eventuelt utelatt. Signering kan fortsatt fortsette selv med disse utelatelsene.
env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
- Definer jobbene på redaktøren din
jobber: bygge-og-sign-jar:
- Kjør jobb på Ubuntu Runner
kjører på: ubuntu-nyeste
- Lag et navn. Når arbeidsflyten kjører, er dette navnet som logges.
navn: CodeSigner på Java med Maven
Skisser trinnene for å sjekke ut kildekoden, sette opp Java- og Maven-miljøet og lage Artifact Directory.
1) Sjekk ut kildekoden slik at arbeidsflyten får tilgang til den.
trinn: - bruker: actions/checkout@v2
2) Sett opp Java og Maven-miljøet for arbeidsflyten som skal brukes.
- navn: Installer Maven og Java bruker: s4u/setup-maven-action@v1.3.1 med: java-version: '${{env.JAVA_VERSION}}' maven-versjon: '${{env.MAVEN_VERSION}}'
3) Opprett artefaktkatalog for å lagre signerte og usignerte artefaktfiler
- navn: Opprett katalogskall: bash run: | mkdir ${GITHUB_WORKSPACE}/artefakter mkdir ${GITHUB_WORKSPACE}/pakker
4) Bygg et maven-prosjekt eller -løsning og alle dets avhengigheter.
Etter at jar-filen er opprettet, kopierer du til 'packages'-mappen for signering
- I denne skriftlige signeringseksemplet ble det opprettet flere prosjekttyper. Dette er grunnen til at filer av forskjellige prosjekttyper ble beholdt ved å opprette undermapper. En undermappe kalt 'java' ble opprettet for Java-prosjekter. I demoskjermbildet ovenfor var det ikke nødvendig å opprette en undermappe kalt 'java', så dette var ikke inkludert i skriptet.
- navn: Bygg Java-prosjektskall: bash run: | mvn clean install -f java/pom.xml cp java/target/${{env.PROJECT_NAME}}-${{env.PROJECT_VERSION}}.jar ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}. krukke
Skisser fremgangsmåten for Sign- og Last opp-jobbene
- Sign-jobben er trinnet der de opprettede JAR-filene (artefakt) blir signert med CodeSignTool.
- navn: Sign Artifact bruker: sslcom/actions-codesigner@develop med:
Tegn- og tidsstempelkodeobjekt.
kommando: tegn
SSL.com-konto brukernavn.
brukernavn: ${{secrets.ES_USERNAME}}
SSL.com-kontopassord.
passord: ${{secrets.ES_PASSWORD}}
Legitimasjons-ID for signering av sertifikat.
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}}
Banen til kodeobjektet som skal signeres. (DLL, JAR, EXE, MSI-filer vb...)
file_path: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar
Katalog hvor signert kodeobjekt(er) vil bli skrevet.
output_path: ${GITHUB_WORKSPACE}/artefakter
- Opplastingsjobben er trinnet der artefakter fra arbeidsflyten din blir lastet opp slik at du kan dele data mellom jobber og lagre data når en arbeidsflyt er fullført
- navn: Last opp signerte filer bruker: actions/upload-artifact@v2 med: navn: ${{env.PROJECT_NAME}}.jar bane: ./artifacts/${{env.PROJECT_NAME}}.jar
Få en byggeartefakt-opplasting fra Github Marketplace
Se gjennom kodingsskriptet ditt
Alt i alt skal kodingsskriptet for buld-, signerings- og opplastingsjobbene se ut som bildet nedenfor. Sørg for å korrigere eventuelle feil som feilstaving eller feilaktige linjeskift i skriptet, slik at signeringsprosessen går jevnt.
Definer miljøvariablene dine
Gå til plasseringen av prosjektet på Github-kontoen din. Klikk på handlinger fane. Klikk på Ny depothemmelighet for å plassere verdiene for hver miljøvariabel som kreves for å signere koden.
Opprett et nytt depot på kommandolinjen
Fortsett til plasseringen av prosjektet ditt på Github og kopier hver komponent i push-kommandoen.
Skyv prosjektet
Inkluder hver push-kommandolinje i koderedigeringsprogrammet. Etter fullføring vil koden automatisk bli presset på Github.
Vent til artefakten skal signeres med eSigner CodeSignTool
Last opp den signerte filen
Klikk på den signerte filen for å laste den opp.
Eksempel på Github Actions Pipeline
Sjekk ut prøven Github Actions-pipeline vi har laget på github.com/SSLcom/codesigner-github-sample
Andre veiledninger for integrasjon av CI/CD-fjernsignering
- Cloud Code Signing-integrasjon med CircleCI
- Cloud Code Signing-integrasjon med GitLab CI
- Cloud Code Signing-integrasjon med Jenkins CI
- Cloud Code Signing-integrasjon med Travis CI
- Cloud Code Signing-integrasjon med Azure DevOps
- Skykodesigneringsautomatisering med CI/CD-tjenester
Trenger du tilpassede løsninger?
Med vår ekspertkunnskap og femstjerners støttepersonell er vi klare og villige til å samarbeide med deg om tilpassede løsninger eller store signeringsrabatter på bedriftsnivå. Fyll ut skjemaet under så tar vi kontakt.