Référence Sign CLI pour les packages VSIX
sign
- Outil Dotnet utilisé pour signer des fichiers et des conteneurs à l’aide de certificats PFX, CER ou P7B sur disque ou à partir de Windows Certificate Manager (WCM), de fournisseurs de services de chiffrement (CSP) ou d’Azure Key Vault.
Important
Sign CLI ne prend en charge que les algorithmes d'empreintes digitales SHA-256
, SHA-384
et SHA-512
. Vous pouvez utiliser PowerShell pour obtenir des empreintes digitales : Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
Important
Sign CLI prend uniquement en charge RSA
les algorithmes. Par conséquent, l’utilisation ECDSA
pour générer votre empreinte digitale échouera la validation de la signature pendant l’installation. Cela ne bloque pas l’installation, mais les avertissements « Signature non valide » s’affichent sous la fenêtre du programme d’installation VSIX pendant l’installation.
Synopsis
sign code certificate-store [<PATH(s)>]
[-cf|--certificate-file <PATH>]
[-p|--password <PASSWORD>]
[-cfp|--certificate-fingerprint <SHA>]
[-csp|--crypto-service-provider <CSPNAME>]
[-k|--key-container <HASHALGORITHM>]
[-km|--use-machine-key-container]
[-d|--description <DESCRIPTION>]
[-u|--descriptionUrl <URL>]
[-fd|--file-digest <DIGEST>]
[-t|--timestamp-url <URL>]
[-tr|--timestamp-rfc3161 <URL>]
[-td|--timestamp-digest <DIGEST>]
[-o|--output <PATH>]
[-b|--base-directory <wORKINGDIRECTORY>]
[-f|--force]
[-m|--max-concurrency <MAXCONCURRENCY>]
[-fl|--filelist <FILELISTPATH>]
sign code certificate-store -h|--help
Description
Sign CLI
est un outil Dotnet qui signe de manière récursive des fichiers et des conteneurs avec un certificat et un certificat privé. Le certificat et la clé privée peuvent être obtenus à partir d’un fichier (PFX, P7B, CER) ou d’un certificat installé dans un magasin de certificats en fournissant un , SHA-384
ou SHA-512
une SHA-256
empreinte digitale. Les clés USB sont accessibles à l’aide d’un fournisseur de services de chiffrement (CSP) implémenté par le fabricant et accessible à partir du magasin de certificats.
Installation
Installer l’interface CLI sign globalement à l’aide de dotnet tool install sign --prerelease --global
Installation hors ligne de Sign CLI
Pour les environnements isolés, vous pouvez télécharger un package NuGet Sign CLI et l’installer à l’aide de :
dotnet tool install --global --add-source <path-to-folder> <tool-name> --version <version>
Arguments
VSIX-paths(s)
Spécifie le ou les chemins d’accès au package VSIX à signer.
Options
-cf|--certificate-file <PATH>
Fichier PFX, P7B ou CER contenant un certificat et potentiellement une clé privée.
-p|--password <PASSWORD>
Mot de passe facultatif pour le fichier de certificat.
-cfp|--certificate-fingerprint <SHA>
EMPREINTE SHA-256, SHA-384 ou SHA-512 utilisée pour identifier un certificat avant la signature.
-csp|--crypto-service-provider <CSP NAME>
Fournisseur de services de chiffrement contenant une clé privée.
Remarque
Vous pouvez voir toutes les fournisseurs de services cloud disponibles en cours d’exécution
certutil -csplist
, où les fournisseurs CSP hérités spécifient un « type de fournisseur » et les fournisseurs CNG ont généralement « Fournisseur de stockage de clés » dans leur nom.certutil -csptest "<provider name>"
fournit plus d’informations sur des fournisseurs spécifiques.-k|--key-container <CONTAINER NAME>]
Nom du conteneur de clé privée.
Remarque
Vous pouvez trouver toutes les clés stockées dans un fournisseur de solutions Cloud en exécutant
certutil -csp <Provider Name> -key
.-km|--use-machine-key-container]
Utilisez un conteneur de clé privée au niveau de l’ordinateur au lieu du conteneur de niveau utilisateur par défaut.
-d|--description <DESCRIPTION>
Description du certificat de signature.
-u|--descriptionUrl <URL>
URL de description du certificat de signature.
-fd | --file-digest <DIGEST>
Algorithme Digest avec lequel hacher le fichier.
-t|--timestamp-url <URL>
URL du serveur d’horodatage RFC 3161. [valeur par défaut : http://timestamp.acs.microsoft.com/]
-tr | --timestamp-rfc3161 <URL>
Spécifie l’URL du serveur d’horodatage RFC 3161.
-td|--timestamp-digest <DIGEST>
Utilisé avec
-tr
le commutateur pour demander un algorithme digest utilisé par le serveur d’horodatage RFC 3161.-o|--output <PATH>
Fichier ou dossier de sortie si plusieurs fichiers sont spécifiés. En cas d’omission, l’entrée est remplacée.
-b|--base-directory <PATH>
Répertoire de base pour que les fichiers remplacent le répertoire de travail.
--f|--force
Remplace une signature s’il existe.
-m|--max-concurrency <MAXCONCURRENCY>
Concurrence maximale (la valeur par défaut est 4)
-fl | --filelist <PATH>
Chemin d’accès au fichier contenant les chemins d’accès des fichiers à signer ou à exclure de la signature dans le conteneur.
-?|-h|--help
Imprime une description de l’utilisation de la commande.
Exemples
Signez contoso.vsix avec un certificat importé dans le magasin de certificats utilisateur :
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signez contoso.vsix avec certificat cert.pfx (pas protégé par mot de passe) à l’aide d’une empreinte digitale SHA-512 :
sign code certificate-store contoso.vsix -cfp A87A6F...894559B981 -cfpa sha512 -cf D:\certificates\cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signer contoso.vsix avec certificat cert.pfx (protégé par mot de passe) :
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -p <password> -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signez plusieurs packages VSIX - contoso.vsix et tous les fichiers .vsix dans le répertoire spécifié avec certificat cert.pfx (pas protégé par mot de passe) :
sign code certificate-store *.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signez contoso.vsix avec un certificat stocké dans un lecteur USB sécurisé.
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signez contoso.vsix avec un certificat stocké dans un lecteur USB sécurisé et accessible à partir du magasin de certificats de l’ordinateur (option -km).
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -km -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Remarque
Lorsque
-k
l’option n’est pas fournie, l’outil vérifie tous les conteneurs dans le fournisseur csp fourni pour obtenir un certificat d’empreintes digitales SHA correspondant.Signez contoso.vsix avec un certificat stocké dans un lecteur USB sécurisé spécifiant l’algorithme de synthèse de fichiers (-fd), le serveur d’horodatage (-t) et un chemin de sortie personnalisé (-o) pour le VSIX signé.
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com" -t "http://timestamp.acs.microsoft.com/" -fd sha256 -o "ContosoSigned.vsix"