Informations de référence sur l’interface CLI de sign 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 prend uniquement en charge SHA-256
, SHA-384
et SHA-512
en tant qu’algorithmes d’empreinte digitale valides. Vous pouvez utiliser PowerShell pour obtenir des empreintes digitales à l’aide de : Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
Important
Sign CLI prend uniquement en charge les algorithmes RSA
, par conséquent, l’utilisation de 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>]
[-i]|--interactive
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-256
, SHA-384
ou SHA-512
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 connexion de l’interface CLI de connexion
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.
Note
Vous pouvez voir toutes les fournisseurs de services cloud disponibles en exécutant
certutil -csplist
, où les fournisseurs de services cloud hérités spécifient un « type de fournisseur » et des 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.
Note
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
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.
-i|--interactive
Invitez l’entrée de l’utilisateur, qui est requise dans certains scénarios, par exemple lors de l’utilisation d’une clé protégée par l’utilisateur, où un mot de passe doit être entré par l’utilisateur.
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 le 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"
Signez contoso.vsix avec le 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"
Signer plusieurs packages VSIX - contoso.vsix et tous les fichiers .vsix dans le répertoire spécifié avec le certificat cert.pfx (non 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 de l’ordinateur magasin de certificats (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"
Note
Quand
-k
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 fichier (-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"