Comment faire une demande de certificat de signature de code et l'utiliser
Introduction au certificat de signature de code
Un certificat de signature de code est utilisé pour signer numériquement le code d'un logiciel afin de vérifier l'identité de l'éditeur et d'assurer l'intégrité du code. Il garantit aux utilisateurs que le logiciel provient d'une source fiable et qu'il n'a pas été altéré ou modifié de manière malveillante après sa publication. Cela est crucial pour établir la confiance des utilisateurs et prévenir la propagation de logiciels malveillants.
Utilités du certificat de signature de code :
- Vérification de l'identité de l'éditeur du logiciel : Le certificat de signature de code vérifie la provenance du logiciel, ce qui rassure les utilisateurs que le logiciel provient d'un développeur ou d'une organisation légitime.
- Assurance de l'intégrité du code : Une signature numérique peut prouver que le code n'a pas été modifié depuis la signature, empêchant l'injection de logiciels malveillants ou des altérations.
- Renforcement de la confiance des utilisateurs : Un logiciel signé peut éliminer les avertissements de sécurité émis par le système d'exploitation ou le navigateur, renforçant la confiance des utilisateurs dans le logiciel et les encourageant à l'installer et à l'utiliser.
- Prévention de la propagation de logiciels malveillants : La signature de code peut aider les utilisateurs à identifier et à éviter l'installation de logiciels potentiellement malveillants non signés ou provenant de sources inconnues.
Demande de certificat de signature de code via ServBay
Ouvrir le panneau de gestion des certificats SSL : Dans la barre latérale de ServBay, cliquez sur "Certificates SSL" pour accéder à la plateforme de gestion des certificats.
Cliquer sur le bouton d'ajout : Cliquez sur le bouton "+" en haut à droite.
Remplir les informations du certificat : Sur la page "Demander un certificat", remplissez les informations suivantes :
- Nom commun: Indiquez le nom de votre organisation ou votre nom personnel, par exemple
ServBay, LLC
ouSam NG
. - Objectif d'utilisation : Sélectionnez l'usage du certificat, choisissez
Code Signing
. - Méthode de demande : Sélectionnez
ServBay CA
. - Émetteur : Choisissez
ServBay User CA
. - Algorithme : Sélectionnez l'algorithme de cryptage, tel que
ECC
ouRSA
. - Longueur de clé : Choisissez la longueur de la clé, par exemple
384
ou2048
. - Mot de passe : Important ! Définissez un mot de passe pour protéger votre clé privée. Retenez bien ce mot de passe, car vous ne pourrez pas le récupérer en cas de perte. Le mot de passe par défaut est
ServBay.dev
.
- Nom commun: Indiquez le nom de votre organisation ou votre nom personnel, par exemple
Cliquer sur le bouton "Request" : Après avoir complété toutes les étapes, cliquez sur le bouton "Request" pour soumettre la demande de certificat. ServBay émettra automatiquement le certificat.
Exportation et utilisation du certificat
- Accéder au panneau de gestion des certificats SSL.
- Trouver le certificat de signature de code délivré.
- Cliquer sur le bouton d'action : Cliquez sur l'icône d'exportation à droite du certificat.
- Sélectionner le répertoire d'exportation : Dans la fenêtre contextuelle, choisissez où enregistrer le certificat exporté.
- Utiliser l'outil de signature de code : Importez le fichier
.p12
exporté dans votre outil de signature de code (par exemple,codesign
(macOS),signtool
(Windows), etc.) et déverrouillez-le avec le mot de passe précédemment défini. Vous pouvez alors utiliser ce certificat pour signer numériquement votre code.
Exemple de signature de code avec un certificat de signature de code
$ gcc test.c -o /tmp/test # Utiliser gcc pour générer un binaire de test
$ security find-identity -v -p codesigning # Rechercher les certificats disponibles pour la signature de code
1) ...
2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay, LLC"
2 valid identities found
$ codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test # Utiliser l'ID de certificat trouvé pour signer
test: replacing existing signature
$ codesign -dvvv /tmp/test # Vérifier si la signature est correcte
Executable=/tmp/test
Identifier=test
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=445 flags=0x0(none) hashes=9+2 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639
CandidateCDHashFull sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
Hash choices=sha256
CMSDigest=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
CMSDigestType=2
CDHash=777e597ce37ad27e7b90d2aaaeeb9f1449170639
Signature size=7247
Authority=ServBay, LLC
Authority=ServBay Public CA - ECC Code Signing
Authority=ServBay Public CA - ECC Root
Timestamp=Nov 7, 2024 at 18:26:48
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=80
$ echo "abcde" > test # Tenter de compromettre la signature du certificat binaire
$ codesign -dvvv test # Vérifier à nouveau la signature
test: code object is not signed at all
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Renouvellement de certificat
Le certificat de signature de code de ServBay est valide pour 800 jours. Avant l'expiration du certificat, vous pouvez cliquer sur le bouton à droite pour renouveler. Chaque renouvellement prolonge la validité de 800 jours à compter de la date actuelle.
Suppression de certificat
- Accéder au panneau de gestion des certificats SSL.
- Trouver le certificat à supprimer.
- Cliquer sur le bouton d'action : Cliquez sur l'icône de la corbeille à droite du certificat.
- Confirmation de suppression : Dans le menu contextuel, sélectionnez "Delete" et confirmez la suppression.
Conclusion
Nous espérons que ce document vous aidera à demander et utiliser un certificat de signature de code sur la plateforme ServBay. Si vous avez des questions, veuillez contacter le support client de ServBay pour obtenir de l'aide.