Cloud Code Signing-integratie met BitBucket

Dit is een gids over hoe de BitBucket CI/CD-tool kan worden geïntegreerd met eSigner CodeSignTool om automatische codeondertekening uit te voeren.

CodeSignTool is een opdrachtregelhulpprogramma dat effectief is bij ondertekeningsprocessen op afstand en dat volledig kan worden geïntegreerd met verschillende CI/CD-platforms. Het maakt deel uit van de toolkit in eSigner – onze cloudcodeondertekeningsservice waarmee ontwikkelaars een intuïtieve en veilige methode kunnen ervaren om code te ondertekenen.

SSL.com's EV Code ondertekening certificaten helpen uw code te beschermen tegen ongeautoriseerde manipulatie en compromittering met het hoogste validatieniveau, en zijn beschikbaar voor slechts $ 249 per jaar. Je kan ook gebruik uw EV Code Signing-certificaat op schaal in de cloud met eSigner.

BESTEL NU

EOmgevingsvariabelen

  • USERNAME: gebruikersnaam van SSL.com-account. (Verplicht)
  • WACHTWOORD: SSL.com-accountwachtwoord (vereist)
  • CREDENTIAL_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)
  • OMGEVING_NAME : 'TEST' of 'PROD' omgeving. (Verplicht)

Ingangen

  • invoer_bestandspad: Pad van codeobject dat moet worden ondertekend. (Verplicht)

  • output_dir_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.

.NET Code DLL-ondertekening Voorbeeld workflow

pipelines: default: - step: # U kunt een naam aan een stap toevoegen om weergaven en rapporten leesbaarder en begrijpelijker te maken. naam: build-dotnet # Naam van de Docker-image die al dan niet register-URL, tag en digest-waarde bevat: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Uit te voeren opdrachten in het stapscript: # Mappen gemaakt voor artefacten - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Bouw dotnet-project met releaseconfiguratie - dotnet build dotnet/HelloWorld.csproj -c Release # Kopieer gebouwde artefacten naar artefactenmap - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Bestanden geproduceerd door een stap om te delen met een volgende stap artefacten: - packages/HelloWorld.dll - stap : # U kunt een naam aan een stap toevoegen om weergaven en rapporten leesbaarder en begrijpelijker te maken. naam: sign-dotnet-artifacts # Services ingeschakeld voor de step-services: - docker # Commando's om uit te voeren in het step-script: # Gemaakte mappen voor artefacten - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Probleem met dotnet-machtigingen opgelost - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Sign artefact met CodeSigner docker image - docker run -i --rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:laatste teken -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /uitvoer

Maak een nieuwe repository op bitbucket.org

Selecteer de opties voor de specifieke velden:

a) Toegangsniveau: vink het vakje voor Private repository aan

b) Een LEESMIJ opnemen? Nee

c) Standaard filiaalnaam: main

d) .gitignore opnemen? Nee

Maak een nieuw project op uw code-editor

Maak onder het nieuwe project een .yml-bestand

Schrijf het script voor de bouwfase

Schrijf het script voor de tekenfase

SSL.com's EV Code ondertekening certificaten helpen uw code te beschermen tegen ongeautoriseerde manipulatie en compromittering met het hoogste validatieniveau, en zijn beschikbaar voor slechts $ 249 per jaar. Je kan ook gebruik uw EV Code Signing-certificaat op schaal in de cloud met eSigner.

BESTEL NU

Volledig script:

pipelines: default: - step: # U kunt een naam aan een stap toevoegen om weergaven en rapporten leesbaarder en begrijpelijker te maken. naam: build-dotnet # Naam van de Docker-image die al dan niet register-URL, tag en digest-waarde bevat: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Uit te voeren opdrachten in het stapscript: # Mappen gemaakt voor artefacten - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Bouw dotnet-project met releaseconfiguratie - dotnet build dotnet/HelloWorld.csproj -c Release # Kopieer gebouwde artefacten naar artefactenmap - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Bestanden geproduceerd door een stap om te delen met een volgende stap artefacten: - packages/HelloWorld.dll - stap : # U kunt een naam aan een stap toevoegen om weergaven en rapporten leesbaarder en begrijpelijker te maken. naam: sign-dotnet-artifacts # Services ingeschakeld voor de step-services: - docker # Commando's om uit te voeren in het step-script: # Gemaakte mappen voor artefacten - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Probleem met dotnet-machtigingen opgelost - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Sign artefact met CodeSigner docker image - docker run -i --rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:laatste teken -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /uitvoer

Definieer alle repository-informatie

Klik op het tabblad Repository-instellingen

Onder PIJPLEIDINGEN, klik op Instellingen om uw pijplijn in te schakelen

Klik vervolgens nog steeds onder PIPELINES Repository-variabelen.

Plaats de naam en waarde voor elke repositoryvariabele

Push uw code naar Bitbucket

Op de bron tabblad van uw BitBucket-menu, stelt u uw repository-URL in op https

Schrijf de opdracht voor git remote add origin en plak de https-link van uw bitbucket-project, gevolgd door de git push commando

Schrijf de git push –u oorsprong hoofdopdracht

Vernieuw Bitbucket om de code te zien die u hebt gepusht

Vernieuw Bitbucket en klik op het Pijpleidingen tabblad. De bouw- en tekenfase wordt automatisch gestart.

Controleer of de bouwfase succesvol is

Controleer of de tekenfase succesvol is

Voorbeeld BitBucket-pijplijn

Bekijk de BitBucket-pijplijn die we hebben gemaakt github.com/SSLcom/codesigner-bitbucket-sample

Andere integratiehandleidingen voor ondertekening op afstand

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.

Twitter
Facebook
LinkedIn
Reddit
E-mail

Blijf geïnformeerd en veilig

SSL.com is een wereldleider op het gebied van cyberbeveiliging, PKI en digitale certificaten. Meld u aan om het laatste branchenieuws, tips en productaankondigingen te ontvangen van SSL.com.

We willen graag uw feedback

Vul onze enquête in en laat ons uw mening over uw recente aankoop weten.