Intégration de la signature de code dans le cloud avec BitBucket

Il s'agit d'un guide sur la façon dont l'outil BitBucket CI/CD peut être intégré à eSigner CodeSignTool pour effectuer une signature de code automatisée.

CodeSignTool est un utilitaire de ligne de commande efficace dans les processus de signature à distance et s'intègre parfaitement à diverses plates-formes CI/CD. Il fait partie de la boîte à outils d'eSigner, notre service de signature de code dans le cloud qui permet aux développeurs de découvrir une méthode intuitive et sécurisée pour signer du code.

SSL.com EV Signature du code Les certificats aident à protéger votre code contre les falsifications non autorisées et les compromis avec le plus haut niveau de validation, et sont disponibles pour aussi peu que 249 $ par année. Vous pouvez également utilisez votre certificat EV Code Signing à grande échelle dans le cloud avec eSigner.

COMMANDER MAINTENANT

EVariables d'environnement

  • USERNAME: nom d'utilisateur du compte SSL.com. (Obligatoire)
  • MOT DE PASSE: Mot de passe du compte SSL.com (Requis)
  • CREDENTIAL_ID: ID d'identification pour la signature du certificat. Si credential_id est omis et que l'utilisateur n'a qu'un seul certificat de signature de code eSigner, CodeSignTool utilisera celui-ci par défaut. Si l'utilisateur possède plusieurs certificats de signature de code, ce paramètre est obligatoire. (Obligatoire)
  • TOTP_SECRET: Secret OAuth TOTP. Vous pouvez accéder à des informations détaillées sur https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Requis)
  • ENVIRONNEMENT_NAME : Environnement 'TEST' ou 'PROD'. (Obligatoire)

Contributions

  • chemin_fichier_entrée: Chemin de l'objet code à signer. (Obligatoire)

  • chemin_rép_sortie: Répertoire où le ou les objets de code signés seront écrits. Si output_path est omis, le fichier spécifié dans -file_path sera remplacé par le fichier signé.

Exemple de workflow de signature de DLL de code .NET

pipelines : par défaut : - step : # Vous pouvez ajouter un nom à une étape pour faciliter la lecture et la compréhension des affichages et des rapports. name: build-dotnet # Nom de l'image Docker qui peut inclure ou non l'URL du registre, la balise et l'image de la valeur digest: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Commandes à exécuter dans le script d'étape : # Création de répertoires pour les artefacts - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Construire le projet dotnet avec la configuration Release - dotnet build dotnet/HelloWorld.csproj -c Release # Copier les artefacts construits dans le répertoire des artefacts - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Fichiers produits par une étape à partager avec les artefacts d'une étape suivante : - packages/HelloWorld.dll - step : # Vous pouvez ajouter un nom à une étape pour faciliter la lecture et la compréhension des affichages et des rapports. name : sign-dotnet-artifacts # Services activés pour l'étape services : - docker # Commandes à exécuter dans le script de l'étape : # Création de répertoires pour les artefacts - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Correction d'un problème d'autorisation dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Signer l'artefact avec l'image docker CodeSigner - 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:latest sign -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /production

Créer un nouveau dépôt sur bitbucket.org

Sélectionnez les options pour les champs spécifiques :

a) Niveau d'accès : cochez la case Dépôt privé

b) Inclure un fichier LISEZMOI ? Non

c) Nom de la branche par défaut : main

d) inclure .gitignore ? Non

Créez un nouveau projet sur votre éditeur de code

Sous le nouveau projet, créez un fichier .yml

Écrire le script pour l'étape de construction

Rédiger le script de l'étape de la signature

SSL.com EV Signature du code Les certificats aident à protéger votre code contre les falsifications non autorisées et les compromis avec le plus haut niveau de validation, et sont disponibles pour aussi peu que 249 $ par année. Vous pouvez également utilisez votre certificat EV Code Signing à grande échelle dans le cloud avec eSigner.

COMMANDER MAINTENANT

Scénario complet :

pipelines : par défaut : - step : # Vous pouvez ajouter un nom à une étape pour faciliter la lecture et la compréhension des affichages et des rapports. name: build-dotnet # Nom de l'image Docker qui peut inclure ou non l'URL du registre, la balise et l'image de la valeur digest: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Commandes à exécuter dans le script d'étape : # Création de répertoires pour les artefacts - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Construire le projet dotnet avec la configuration Release - dotnet build dotnet/HelloWorld.csproj -c Release # Copier les artefacts construits dans le répertoire des artefacts - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Fichiers produits par une étape à partager avec les artefacts d'une étape suivante : - packages/HelloWorld.dll - step : # Vous pouvez ajouter un nom à une étape pour faciliter la lecture et la compréhension des affichages et des rapports. name : sign-dotnet-artifacts # Services activés pour l'étape services : - docker # Commandes à exécuter dans le script de l'étape : # Création de répertoires pour les artefacts - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Correction d'un problème d'autorisation dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Signer l'artefact avec l'image docker CodeSigner - 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:latest sign -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /production

Définir toutes les informations du référentiel

Cliquez sur l'onglet Paramètres du référentiel

Sous CANALISATIONS, cliquez sur Paramètres pour activer votre pipeline

Ensuite, toujours sous PIPELINES, cliquez sur Variables de référentiel.

Placez le nom et la valeur de chaque variable de référentiel

Poussez votre code vers Bitbucket

Sur le Source de votre menu BitBucket, définissez l'URL de votre référentiel sur https

Écrivez la commande pour git remote ajouter l'origine et collez le lien https de votre projet bitbucket, suivi du git push commander

Ecrire le git push –u commande maître d'origine

Actualisez Bitbucket pour voir le code que vous avez poussé

Actualisez Bitbucket et cliquez sur le Pipelines languette. L'étape de construction et de signature démarrera automatiquement.

Vérifiez si l'étape de construction est réussie

Vérifiez si l'étape de signature est réussie

Exemple de pipeline BitBucket

Découvrez le pipeline BitBucket que nous avons créé sur github.com/SSLcom/codedesigner-bitbucket-sample

Autres guides d'intégration de la signature à distance

Besoin de solutions personnalisées ? 

Grâce à nos connaissances spécialisées et à notre personnel d'assistance cinq étoiles, nous sommes prêts et disposés à travailler avec vous sur des solutions personnalisées ou des remises de signature de gros volumes au niveau de l'entreprise. Remplissez le formulaire ci-dessous et nous vous contacterons.

Twitter
Facebook
LinkedIn
Reddit
Email

Restez informé et en sécurité

SSL.com est un leader mondial de la cybersécurité, PKI et les certificats numériques. Inscrivez-vous pour recevoir les dernières nouvelles de l'industrie, des conseils et des annonces de produits de SSL.com.

Nous aimerions recevoir vos commentaires

Répondez à notre enquête et faites-nous part de votre avis sur votre récent achat.