Utilisation
- Nom: Signer un artefact avec CodeSignTool
utilisations: sslcom/actions-codedesigner@develop
avec:
- Commandes CodeSignTool :
- get_credential_ids
: affiche la liste des identifiants d'identification eSigner associés à un utilisateur.
- credential_info
: informations de clé et de certificat de sortie liées à un identifiant d'identification.
- sign
: Objet de code de signe et d'horodatage.
- batch_sign
: Signez et horodatez plusieurs objets de code avec un seul OTP.
- hash
: hachage(s) pré-calculé(s) pour une utilisation ultérieure avec la commande batch_hash_sign.
- batch_sign_hash
: Hachage(s) de signe pré-calculé avec la commande hash.
commander: signer
- Nom d'utilisateur du compte SSL.com.
username: ${{secrets.ES_USERNAME}}
- Mot de passe du compte SSL.com.
password: ${{secrets.ES_PASSWORD}}
- ID d'identification pour la signature du certificat.
credential_id: ${{secrets.CREDENTIAL_ID}}
- Code secret OAuth TOTP (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret: ${{secrets.ES_TOTP_SECRET}}
- Chemin de l'objet de code à signer.
file_path: ${GITHUB_WORKSPACE}/test/src/build/HelloWorld.jar
- Répertoire où le ou les objets de code signés seront écrits.
output_path: ${GITHUB_WORKSPACE}/artifacts
Contributions
- Nom d'utilisateur: nom d'utilisateur du compte SSL.com. (Obligatoire)
- Mot de passe: Mot de passe du compte SSL.com (Requis)
- identifiant_identifiant: 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)
- chemin du fichier: Chemin de l'objet code à signer. (Obligatoire)
- chemin_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 flux de travail de signature de code Java (Maven) JAR
Préparer les composants du workflow
- Créez un dossier Github sur votre éditeur. Incluez les flux de travail avec le dossier et créez un fichier yml sous le dossier.
- Nommez votre projet et le type de flux de travail impliqué
Nom : Maven Build and Sign
- Déclencher ce workflow sur un push
activé : appuyez sur
- Créer une variable d'environnement
- Les variables d'environnement sont utilisées pour rendre les échantillons plus lisibles. Dans la capture d'écran ci-dessus de l'exemple de workflow, PROJECT_NAME, PROJECT_VERSION et MAVEN_VERSION ont éventuellement été omis. La signature peut toujours se poursuivre même avec ces omissions.
env : PROJECT_NAME : HelloWorld PROJECT_VERSION : 0.0.1 MAVEN_VERSION : 3.8.5 JAVA_VERSION : 17
- Définir les jobs sur votre éditeur
jobs : build-and-sign-jar :
- Exécuter le travail sur Ubuntu Runner
s'exécute sur : ubuntu-latest
- Créez un nom. Lorsque le workflow s'exécute, c'est le nom qui est consigné.
nom : CodeSigner sur Java avec Maven
Décrire les étapes d'extraction du code source, de configuration de l'environnement Java et Maven et de création d'Artifact Directory.
1) Extrayez le code source afin que le workflow puisse y accéder.
étapes : - utilisations : actions/checkout@v2
2) Configurez l'environnement Java et Maven pour le flux de travail à utiliser.
- nom : Installer Maven et Java utilise : s4u/setup-maven-action@v1.3.1 avec : version java : '${{env.JAVA_VERSION}}' version maven : '${{env.MAVEN_VERSION}}'
3) Créer un répertoire d'artefacts pour stocker les fichiers d'artefacts signés et non signés
- nom : Shell de création de répertoire : bash run : | mkdir ${GITHUB_WORKSPACE}/artefacts mkdir ${GITHUB_WORKSPACE}/packages
4) Construisez un projet ou une solution maven et toutes ses dépendances.
Une fois le fichier jar créé, copiez-le dans le dossier 'packages' pour le signer
- Dans cet exemple de workflow de signature écrite, plusieurs types de projets ont été créés. C'est pourquoi les fichiers des différents types de projets ont été conservés en créant des sous-dossiers. Un sous-dossier nommé 'java' a été créé pour les projets Java. Dans la capture d'écran de démonstration ci-dessus, il n'était pas nécessaire de créer un sous-dossier nommé "java", il n'a donc pas été inclus dans le script.
- nom : 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}}. pot
Décrire les étapes des tâches de signature et de téléchargement
- La tâche de signature est l'étape où les fichiers JAR (artefacts) créés seront signés avec CodeSignTool.
- nom : Sign Artifact utilise : sslcom/actions-codedesigner@develop avec :
Objet de code de signe et d'horodatage.
commande : signe
Nom d'utilisateur du compte SSL.com.
nom d'utilisateur : ${{secrets.ES_USERNAME}}
Mot de passe du compte SSL.com.
mot de passe : ${{secrets.ES_PASSWORD}}
ID d'identification pour la signature du certificat.
identifiant_identifiant : ${{secrets.CREDENTIAL_ID}}
Secret OAuth TOTP (https://www.ssl.com/how-to/automate-esigner-ev-code-signing)
totp_secret : ${{secrets.ES_TOTP_SECRET}}
Chemin de l'objet de code à signer. (fichiers DLL, JAR, EXE, MSI vb… )
chemin_fichier : ${GITHUB_WORKSPACE}/packages/${{env.PROJECT_NAME}}.jar
Répertoire où le ou les objets de code signés seront écrits.
chemin_sortie : ${GITHUB_WORKSPACE}/artefacts
- La tâche de téléchargement est l'étape où les artefacts de votre flux de travail seront téléchargés, ce qui vous permet de partager des données entre les tâches et de stocker des données une fois qu'un flux de travail est terminé.
- nom : Télécharger les fichiers signés utilise : actions/upload-artifact@v2 avec : nom : ${{env.PROJECT_NAME}}.jar chemin : ./artifacts/${{env.PROJECT_NAME}}.jar
Obtenez un téléchargeur d'artefacts de build à partir de Github Marketplace
Passez en revue votre script de codage
Dans l'ensemble, le script de codage pour les tâches de construction, de signature et de téléchargement doit ressembler à l'image ci-dessous. Assurez-vous de corriger toutes les erreurs telles que les fautes d'orthographe ou les sauts de ligne erronés dans le script afin que le processus de signature se déroule sans heurts.
Définissez vos variables d'environnement
Accédez à l'emplacement de votre projet sur votre compte Github. Clique le Actions languette. Clique le Nouveau secret de dépôt pour placer les valeurs de chaque variable d'environnement requise lors de la signature de votre code.
Créer un nouveau référentiel sur la ligne de commande
Rendez-vous à l'emplacement de votre projet sur Github et copiez chaque composant de la commande push.
Pousser le projet
Incluez chaque ligne de commande push dans votre éditeur de code. Une fois terminé, le code sera automatiquement poussé sur Github.
Attendez que l'artefact soit signé avec eSigner CodeSignTool
Télécharger le fichier signé
Cliquez sur le fichier signé pour le télécharger.
Exemple de pipeline d'actions Github
Découvrez l'exemple de pipeline Github Actions que nous avons créé sur github.com/SSLcom/codedesigner-github-sample
Autres guides d'intégration de la signature à distance CI/CD
- Intégration de la signature de code dans le cloud avec CircleCI
- Intégration de la signature de code dans le cloud avec GitLab CI
- Intégration de la signature de code dans le cloud avec Jenkins CI
- Intégration de la signature de code dans le cloud avec Travis CI
- Intégration de la signature de code dans le cloud avec Azure DevOps
- Automatisation de la signature de code dans le cloud avec les services CI/CD
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.