Cloud Code Signing integráció a GitHub-műveletekkel

Ez az útmutatócikk bemutatja, hogyan integrálható az eSigner a GitHub Actions szolgáltatással az automatikus kódaláíráshoz a folyamatos integráció/folyamatos kézbesítés (CI/CD) beállításban.

Az eSigner a felhő alapú aláírási platformunk, amelyben a szoftverfejlesztők a világ minden tájáról megbíznak, hogy USB-token vagy más speciális hardver nélkül végezzen vállalati kódaláírást.  Az eSigner egyik összetevője a CodeSignTool: egy adatvédelmi vezérelt parancssori segédprogram, amely rendkívül hatékony a kódaláírást automatizálni kívánó fejlesztők számára.  A következő szakaszok bemutatják, hogyan írhat alá Java-kódot (Maven) a GitHub Actions szolgáltatásban az eSigner CodeSignTool segítségével.

SSL.com-k EV Kód aláírás A tanúsítványok a legmagasabb szintű érvényesítés mellett segítenek megvédeni a kódot az illetéktelen manipulációtól és a kompromittálódástól, és mindössze $ 249 évente. Akkor is használja az EV Code Signing tanúsítványát a méretarányosan a felhőben az eSigner segítségével.

RENDELD MEG MOST

Használat

- név: Írja alá a műterméket a CodeSignTool segítségével

  használ: sslcom/actions-codesigner@develop

  val vel:

  •      CodeSignTool parancsok:

     - get_credential_ids: A felhasználóhoz társított eSigner hitelesítő azonosítók listájának megjelenítése.

     - credential_info: A hitelesítő adatok azonosítójához kapcsolódó kimeneti kulcs és tanúsítvány adatai.

     - sign: Jel és időbélyegző kód objektum.

     - batch_sign: Több kódobjektum aláírása és időbélyegzése egy OTP-vel.

     - hash: Előzetesen kiszámítja a hash(ek)et későbbi használatra a batch_hash_sign paranccsal.

     - batch_sign_hash: A hash paranccsal előre kiszámított hash(ek) aláírása.

        parancs: <p></p>

 

  • SSL.com fiók felhasználóneve.

         username: ${{secrets.ES_USERNAME}}

  •  SSL.com fiók jelszava.

         password: ${{secrets.ES_PASSWORD}}

  • Hitelesítési adat azonosító a tanúsítvány aláírásához.

         credential_id: ${{secrets.CREDENTIAL_ID}}

         totp_secret: ${{secrets.ES_TOTP_SECRET}}

  • Az aláírandó kódobjektum elérési útja.

          file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar

  • Könyvtár, ahová az aláírt kódobjektumok íródnak.

          output_path: ${GITHUB_WORKSPACE}/artifacts

 

Bemenetek

  • felhasználónév: SSL.com-fiók felhasználóneve. (Kívánt)
  • jelszó: SSL.com fiók jelszava (kötelező)
  • hitelesítő_azonosító: Hitelesítési adat azonosító a tanúsítvány aláírásához. Ha a credential_id kimarad, és a felhasználónak csak egy eSigner kód aláíró tanúsítványa van, a CodeSignTool alapértelmezés szerint ezt fogja használni. Ha a felhasználónak egynél több kódaláíró tanúsítványa van, akkor ez a paraméter kötelező. (Kívánt)
  • totp_secret: OAuth TOTP titkos. Részletes információkat a címen érhet el https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Kötelező)
  • fájl elérési út: Az aláírandó kódobjektum elérési útja. (Kívánt)
  • kimeneti út: Könyvtár, ahová az aláírt kódobjektumok íródnak. Ha a kimeneti_útvonal kimarad, a -file_path paraméterben megadott fájl felül lesz írva az aláírt fájllal.

Java kód (Maven) JAR aláírási példa munkafolyamat

Készítse elő a munkafolyamat összetevőit

  1. Hozzon létre egy Github mappát a szerkesztőben. Foglaljon bele munkafolyamatokat a mappába, és hozzon létre egy yml fájlt a mappa alatt.
    1. Nevezze meg projektjét és az érintett munkafolyamat típusát
    Név: Maven Build and Sign
     
    1. Indítsa el ezt a munkafolyamatot egy lenyomással
    rá: nyomni
     
    1. Hozzon létre egy környezeti változót
    • Környezeti változókat használnak a minták olvashatóbbá tételére. A példa munkafolyamatának fenti képernyőképen a PROJECT_NAME, a PROJECT_VERSION és a MAVEN_VERSION opcionálisan kimaradt. Az aláírás még ezekkel a kihagyásokkal is folytatódhat.
    env: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 MAVEN_VERSION: 3.8.5 JAVA_VERSION: 17
     
    1. Határozza meg a munkákat a szerkesztőben
    munkák: build-and-sign-jar:
     
    1. Futtassa a feladatot az Ubuntu Runneren
        futó: ubuntu-latest
     
    1. Hozzon létre egy nevet. Amikor a munkafolyamat fut, ez a név kerül naplózásra.
      név: CodeSigner Java-n a Maven-nel
     

Vázolja fel a forráskód lekérdezésének, a Java és Maven környezet beállításának, valamint az Artifact Directory létrehozásának lépéseit.

  1) Nézze meg a forráskódot, hogy a munkafolyamat hozzáférhessen.

   lépések: - használja: action/checkout@v2
 

  2) Állítsa be a Java és a Maven környezetet a munkafolyamathoz.

    - név: A Maven és a Java telepítése a következőt használja: s4u/setup-maven-action@v1.3.1 with: java-version: '${{env.JAVA_VERSION}}' maven-version: '${{env.MAVEN_VERSION}}'

 

      3) Hozzon létre Műtermékkönyvtárat az aláírt és aláíratlan műtermékfájlok tárolásához

 - név: Címtár létrehozása shell: bash run: | mkdir ${GITHUB_WORKSPACE}/termékek mkdir ${GITHUB_WORKSPACE}/csomagok

 

      4) Építsen egy maven projektet vagy megoldást és annak összes függőségét.

      A jar fájl létrehozása után másolja a "packes" mappába aláíráshoz

  • Ebben az írásos aláírási példa munkafolyamatban több projekttípus jött létre. Ez az oka annak, hogy a különböző projekttípusok fájljait almappák létrehozásával tárolták. A Java projektekhez egy „java” nevű almappa jött létre. A fenti bemutató képernyőképen nem kellett létrehozni egy „java” nevű almappát, így ez nem szerepelt a szkriptben.
 - név: Build Java Project shell: 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}}. befőttes üveg
 

Vázolja fel az aláírási és feltöltési feladatok lépéseit

  1. Az aláírási feladat az a lépés, ahol a létrehozott JAR (termékek) fájlokat a CodeSignTool aláírja.
 - név: A Sign Artifact a következőt használja: sslcom/actions-codesigner@develop with:

           Jel és időbélyeg kód objektum.

parancs: jel

           SSL.com fiók felhasználóneve.

felhasználónév: ${{secrets.ES_USERNAME}}

           SSL.com fiók jelszava.

jelszó: ${{secrets.ES_PASSWORD}}

           Hitelesítési adat azonosító a tanúsítvány aláírásához.

hitelesítési_azonosító: ${{titok.CREDENTIAL_ID}}

           OAuth TOTP titkos (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)

totp_secret: ${{secrets.ES_TOTP_SECRET}}

           Az aláírandó kódobjektum elérési útja. (DLL, JAR, EXE, MSI fájlok vb…)

  fájl_útvonala: ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar

           Könyvtár, ahová az aláírt kódobjektumok íródnak.

kimeneti_útvonal: ${GITHUB_WORKSPACE}/termékek

 

  1. A feltöltési feladat az a lépés, ahol a munkafolyamatból származó műtermékek feltöltésre kerülnek, lehetővé téve az adatok megosztását a feladatok között, és az adatok tárolását a munkafolyamat befejezése után
 - név: Az aláírt fájlok feltöltése a következőt használja: action/upload-artifact@v2 with: name: ${{env.PROJECT_NAME}}.jar elérési út: ./artifacts/${{env.PROJECT_NAME}}.jar
 

Szerezzen be egy build-műtermék-feltöltőt a Github Marketplace-ről

Tekintse át a kódolási szkriptet

Összességében a tömörítési, aláírási és feltöltési feladatok kódolási szkriptjének úgy kell kinéznie, mint az alábbi képen. Az aláírási folyamat zökkenőmentes lebonyolítása érdekében mindenképpen javítsa ki a hibákat, például a hibás helyesírást vagy a hibás sortöréseket a szkriptben.

SSL.com-k EV Kód aláírás A tanúsítványok a legmagasabb szintű érvényesítés mellett segítenek megvédeni a kódot az illetéktelen manipulációtól és a kompromittálódástól, és mindössze $ 249 évente. Akkor is használja az EV Code Signing tanúsítványát a méretarányosan a felhőben az eSigner segítségével.

RENDELD MEG MOST

Határozza meg a környezeti változókat

Menjen a projekt helyére a Github-fiókjában. Kattints a Hozzászólások fület. Kattints a Új adattár titka gombot a kód aláírásához szükséges egyes környezeti változók értékeinek elhelyezéséhez.

Hozzon létre egy új tárolót a parancssorban

Menjen a projekt helyére a Githubon, és másolja ki a push parancs minden összetevőjét.

Nyomja meg a projektet

Minden push parancssort tartalmazzon a kódszerkesztőben. A befejezést követően a kód automatikusan megjelenik a Githubon.

Várja meg, amíg a műterméket aláírja az eSigner CodeSignTool

Töltse fel az aláírt fájlt

Kattintson az aláírt fájlra a feltöltéshez.

Megjegyzés: Ügyeljen arra, hogy kijavítsa a tipográfiai hibákat vagy a hibás sortöréseket a szkriptben, hogy az aláírási folyamat zökkenőmentesen fusson.

Minta Github Actions Pipeline


Tekintse meg az általunk létrehozott minta Github Actions folyamatot github.com/SSLcom/codesigner-github-sample  

Egyéb CI/CD távoli aláírás integrációs útmutatók

Egyedi megoldásokra van szüksége? 

Szakértői tudásunkkal és ötcsillagos támogató munkatársainkkal készen állunk arra, hogy együttműködjünk Önnel az egyedi megoldásokon vagy a vállalati szintű, nagy volumenű aláírási kedvezményeken. Töltse ki az alábbi űrlapot és felvesszük Önnel a kapcsolatot.

Feliratkozás az SSL.com hírlevelére

Ne hagyja ki az SSL.com új cikkeit és frissítéseit

Legyen tájékozott és biztonságos

SSL.com világelső a kiberbiztonság területén, PKI és digitális tanúsítványok. Iratkozzon fel, hogy megkapja a legújabb iparági híreket, tippeket és termékbejelentéseket SSL.com.

Örülnénk a visszajelzésének

Töltse ki felmérésünket, és ossza meg velünk véleményét legutóbbi vásárlásával kapcsolatban.