Certum SimplySign · Authenticode
Signez vos exécutables Windows avec Certum SimplySign, depuis Linux, macOS ou Windows
ssign est un outil en ligne de commande libre et gratuit qui signe en Authenticode les binaires Windows avec votre certificat cloud Certum SimplySign. Il parle lui-même au cloud SimplySign en HTTPS : sans SimplySign Desktop, sans interface graphique, sans conteneur, sans pile PKCS#11. Une seule commande, sur votre machine ou en CI.
ssign -e vous@example.com -T 123456 app.exe
Le problème
Avec un certificat SimplySign, la clé privée reste dans le HSM (module matériel de sécurité) du cloud Certum : la signature se fait à distance. L'application cliente de Certum, SimplySign Desktop, détient la session de connexion et se charge des appels au cloud. Son module PKCS#11 n'a aucun code réseau : il se contente de relayer les demandes vers l'application de bureau, qui doit tourner et être connectée. Sur un serveur sans écran ou une machine de CI, le contournement consistait à faire tourner SimplySign Desktop dans un conteneur avec un affichage virtuel (Xvnc) et p11-kit, comme le fait certum-container.
Ce que fait ssign à la place
La signature Authenticode, ce ne sont que des données : hacher le fichier, faire signer par le cloud, emballer la
signature RSA dans un blob PKCS#7. ssign fait lui-même chaque étape, si bien qu'un portable Linux ou une machine
ubuntu-latest peut signer un binaire Windows :
- Cloud CertumConnexionconnexion OAuth avec votre e-mail et un code à usage unique à 6 chiffres → jeton d'accès
- Cloud CertumRécupération de la cartenuméro de carte et certificat de signature
- Votre machineHachageempreinte Authenticode SHA-256 de chaque fichier
- Cloud CertumDemande de signaturel'empreinte et le certificat → tâche asynchrone
- Cloud CertumAttente du résultat→ signature RSA-4096
- Votre machineAssemblagePKCS#7 + chaîne de certificats + horodatage RFC 3161, écrits dans le fichier
Prise en main
Connexion avec un code à usage unique ou une graine TOTP, signature d'un fichier ou d'un lot entier.
Signer un premier fichier →GitHub Actions
Un workflow de signature verrouillé : le propriétaire du dépôt approuve chaque exécution.
Signer en CI →Sécurité
Ce qui est envoyé et à qui, ce qui est gardé sur le disque, et pourquoi la graine TOTP est un secret à longue durée.
Fonctionnement →Ce qu'il signe
| Fait | Ne fait pas (encore) |
|---|---|
Signe en Authenticode les fichiers PE : .exe, .dll,
.sys, .ocx, .cpl | Les MSI / MSP / MSM dans la commande
ssign (en cours ; utilisez le module PKCS#11) |
| Intègre la chaîne de certificats complète (votre certificat + l'intermédiaire Certum) | Les CAB, catalogues (.cat), scripts PowerShell, APPX/MSIX dans la commande elle-même
(le module les couvre) |
Ajoute un horodatage RFC 3161 (time.certum.pl) |
Signer avec autre chose qu'un certificat cloud Certum SimplySign |
| Tourne sous Linux, macOS, Windows ; signe un lot de fichiers avec une seule connexion | Vérifier les signatures (utilisez signtool ou
osslsigncode) |
Il fonctionne de bout en bout pour les fichiers PE, prouvé en CI : ssign produit une signature Authenticode valide avec le vrai certificat cloud Certum, la chaîne complète et un horodatage RFC 3161. La version Windows de ssign est elle-même signée avec ssign, depuis une machine Linux.
Fonctionne sous
- Linux (x86_64 et ARM 64 bits), macOS (Apple silicon et Intel) et Windows (64 bits) : binaires prêts à l'emploi.
- Ou, si Rust est installé :
cargo install ssign.
Un logiciel libre, développé ouvertement
ssign est écrit en Rust et publié sous licence MIT. Le code source, les versions publiées et les tickets sont sur GitHub. Les contributions pour gérer nativement d'autres formats (MSI, CAB, catalogues, APPX/MSIX, scripts) sont les bienvenues. Questions, bugs ou tests des bêtas : rejoignez le Discord.