Cloud Code Signing integráció a Jenkins CI-vel

Ez egy útmutató arról, hogyan kell automatizált kódaláírást végrehajtani a Jenkins rendszeren az eSigner CodeSignTool használatával.

A CodeSignTool egy parancssori segédprogram, amely alkalmas nagy mennyiségű aláírásra, és zökkenőmentesen integrálható különféle CI/CD platformokkal. Az eSigner részét képezi: távoli aláíró szolgáltatásunknak, amely hatékony, biztonságos és felhasználóbarát megközelítést kínál a vállalati kódaláíráshoz.

SSL.com-k EV Kód aláírás tanúsítványok segít megvédeni kódját a jogosulatlan manipulációtól és a kompromisszumoktól a legmagasabb szintű érvényesítéssel, és mindössze $ 249 évente.

Vásárolja meg SSL.COM EV KÓD ALÁÍRÁSI TANÚSÍTVÁNYÁT

Hozzon létre egy Jenkins-fájlt, és határozza meg a folyamatot a kódszerkesztőben

pipeline { ügynök bármely opció { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds() }

Állítsa be a .NET eszközt a kódszerkesztőben a Jenkins konfigurálásával

Kattintson az Kezelje Jenkins-t lapon a Jenkins irányítópulton.

Görgessen le az oldalon, és kattintson a Globális eszközkonfiguráció elemre.

Görgessen lefelé és kattintson .NET SDK telepítések.

Másolja ki a .NET SDK értékét, és illessze be a kódszerkesztőbe.

eszközök { dotnetsdk "DOTNET_CORE_3.1.24" }

Nyissa meg a plugins.jenkins.io webhelyet, és telepítse a .NET SDK beépülő modult

Alatt Kezelje Jenkins-t az irányítópulton, ellenőrizze Beépülő modulok kezelése annak ellenőrzésére, hogy a .NET SDK beépülő modul telepítve van-e.

A beépülő modul telepítésének megerősítése után térjen vissza a .NET SDK INSTALLATIONS oldalra, és győződjön meg arról, hogy a .NET SDK beépülő modul megfelelő verziója és kiadási adatai vannak beállítva. Folytassa a gombra kattintva Megtakarítás gombot.

Állítsa be a környezeti változókat a kódszerkesztőben

Environment { FELHASZNÁLÓNÉV = credentials('es-username') // SSL.com fiók felhasználóneve. PASSWORD = credentials('es-password') // SSL.com fiók jelszava. CREDENTIAL_ID = credentials('es-crendential-id') // Hitelesítőadat-azonosító a tanúsítvány aláírásához. TOTP_SECRET = hitelesítő adatok ('es-totp-secret') // OAuth TOTP titkos (https://www.ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL .com környezet neve. Demófiók esetén ez lehet „TESZT”, különben „PROD” lesz.

Az egyes változók értékeit a Jenkins irányítópultján találja meg Biztonság> kezel Hitelesítő adatok.

 

Állítsa be a műtermékek katalógusának létrehozásának, a docker kép lekérésének, a .NET felépítésének és a műtermék kód aláírásának lépéseit.

 

        1) Hozzon létre Műtermékkönyvtárat az aláírt és aláíratlan műtermékfájlokhoz.
 stage('Műtermékek könyvtárának létrehozása') { steps { sh 'mkdir ${WORKSPACE}/artifacts' sh 'mkdir ${WORKSPACE}/csomagok' } }
        2) Húzza ki a Codesigner Docker képet a Github Registry-ből.
stage('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } }
        3) Hozzon létre egy dotnet projektet vagy megoldást és annak összes függőségét. A dll vagy exe fájl létrehozása után másolja a 'csomagok' mappába aláíráshoz.
stage('Build Dotnet') { steps { sh 'dotnet build dotnet/HelloWorld.csproj -c Release' sh 'cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${WORKSPACE}/packages/ HelloWorld.dll' } }
        4) Ez az a lépés, ahol a létrehozott DLL (műtermék) fájlokat a CodeSignTool aláírja.
stage('Aláírás és mentés Dotnet Core DLL Artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${WORKSPACE}/packages:/codesign/examples -- kötet ${WORKSPACE}/artefacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e KÖRNYEZET_NÉV=${ ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:legutóbbi jel -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign/output' } post { always { archiveArtifacts artifacts: "artifacts.dll",HelloWorfull:d } } } } }

SSL.com-k EV Kód aláírás tanúsítványok segít megvédeni kódját a jogosulatlan manipulációtól és a kompromisszumoktól a legmagasabb szintű érvényesítéssel, és mindössze $ 249 évente.

Vásárolja meg SSL.COM EV KÓD ALÁÍRÁSI TANÚSÍTVÁNYÁT

Hozzon létre egy Github repót

Másolja a push parancs egyes összetevőit a Githubon.

A kód leküldéséhez írja be a parancsokat a kódszerkesztő új termináljára.

A kód leküldése után lépjen a Github-fiókjába, és másolja ki projektje URL-linkjét.

Lépjen Jenkins-fiókjába, és kattintson a gombra Hozzon létre egy állást link.

A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Többágú csővezeték, állítsa be a projekt nevét, majd kattintson a gombra OK gombot.

Alatt Ágazati forrásokválassza megy és illessze be a Github-projekt URL-linkjét.

Görgessen lefelé Többágú csővezeték triggerek vizsgálata. Jelölje be a jelölőnégyzetet Rendszeresen futtasd, ha másképp nem. Kiválaszthatja 2 perc.

Kattintson az Megtakarítás gombot.

Menjen vissza Jenkins-fiókjába, kattintson a projektre, és ellenőrizze, hogy a folyamat elindult-e

Kattintson a Jenkins projektre, és válassza ki Scan Multibranch Pipeline most az Irányítópulton.

Kattints Konzol kimenet

Görgessen le, és ellenőrizze, hogy a kódaláírás sikeres-e

Teljes Script

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.

Határozza meg a csővezetéket

pipeline { ügynök bármely opció { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds() }

Telepítse az Építőeszközöket

eszközök { dotnetsdk "DOTNET_CORE_3.1.24" //https://plugins.jenkins.io/dotnet-sdk}

Hozzon létre egy környezeti változót

Environment { FELHASZNÁLÓNÉV = credentials('es-username') // SSL.com fiók felhasználóneve. PASSWORD = credentials('es-password') // SSL.com fiók jelszava. CREDENTIAL_ID = credentials('es-crendential-id') // Hitelesítőadat-azonosító a tanúsítvány aláírásához. TOTP_SECRET = hitelesítő adatok ('es-totp-secret') // OAuth TOTP titkos (https://www.ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL .com környezet neve. Demó fiók esetén ez lehet „TESZT”, különben „PROD” lesz.

Szkript az építési és aláírási szakaszokhoz

stages { // 1) Műtermékkönyvtár létrehozása az aláírt és aláíratlan műtermékfájlokhoz stage('Műtermékek könyvtárának létrehozása') { steps { sh 'mkdir ${WORKSPACE}/artifacts' sh 'mkdir ${WORKSPACE}/packages' } } / / 2) A Codesigner Docker kép letöltése a Github regisztrációs szakaszból ('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } } // 3) Dotnet projekt vagy megoldás létrehozása a függőségei. // Miután létrehozta a dll vagy exe fájlt, másolja a 'packages' mappába aláíráshoz stage('Build Dotnet') { steps { sh 'dotnet build dotnet/HelloWorld.csproj -c Release' sh 'cp dotnet/bin/ Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${WORKSPACE}/packages/HelloWorld.dll' } } // 4) Ez az a lépés, ahol a létrehozott DLL (termékek) fájlok aláírásra kerülnek a CodeSignTool segítségével. stage('Aláírás és mentés Dotnet Core DLL Artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${WORKSPACE}/packages:/codesign/examples -- kötet ${WORKSPACE}/artefacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e KÖRNYEZET_NÉV=${ ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:legújabb jel -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign/output' } post { always { archiveArtifacts artifacts: "artifacts.dll",HelloWorfull:d } } } } }
Tudod hivatkozni a SSL.com Github tárház, amely tartalmazza a docker kép forráskódjait, és leírja, hogyan kell használni: https://github.com/SSLcom/ci-images 

Minta Jenkins Pipeline

Tekintse meg az általunk létrehozott Jenkins-csővezeték mintáját github.com/SSLcom/codesigner-jenkins-sample

Egyéb 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.