Referencia de la CLI de firma para paquetes VSIX
sign
- Herramienta Dotnet que se usa para firmar archivos y contenedores mediante certificados PFX, CER o P7B en disco o desde el Administrador de certificados de Windows (WCM), proveedores de servicios criptográficos (CSP) o Azure Key Vault.
Importante
La CLI de firma solo admite SHA-256
, SHA-384
y SHA-512
como algoritmos de huella digital válidos. Puede usar PowerShell para obtener huellas digitales mediante: Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
Sinopsis
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
Descripción
Sign CLI
es una herramienta dotnet que firma de forma recursiva archivos y contenedores con un certificado y privado. El certificado y la clave privada se pueden obtener de un archivo (PFX, P7B, CER) o de un certificado instalado en un almacén de certificados proporcionando una SHA-256
huella digital , SHA-384
o SHA-512
. Se puede acceder a las claves USB mediante un proveedor de servicios criptográficos (CSP) implementado por el fabricante y accedido desde el almacén de certificados.
Instalación
Instale Sign CLI globalmente con dotnet tool install sign --version <version> --global
, donde <version>
es la versión más reciente disponible en Sign (nuget.org)).
Instalación sin conexión de la CLI de inicio de sesión
Para entornos aislados, puede descargar un paquete NuGet de la CLI de firma e instalarlo mediante:
dotnet tool install --global --add-source <path-to-folder> <tool-name> --version <version>
Argumentos
VSIX-paths(s)
Especifica las rutas de acceso al paquete VSIX que se van a firmar.
Opciones
-cf|--certificate-file <PATH>
Archivo PFX, P7B o CER que contiene un certificado y potencialmente una clave privada.
-p|--password <PASSWORD>
Contraseña opcional para el archivo de certificado.
-cfp|--certificate-fingerprint <SHA>
Huella digital SHA-256, SHA-384 o SHA-512 usada para identificar un certificado antes de la firma.
-csp|--crypto-service-provider <CSP NAME>
Proveedor de servicios criptográficos que contiene una clave privada.
-k|--key-container <CONTAINER NAME>]
Nombre del contenedor de claves privadas.
-km|--use-machine-key-container]
Use un contenedor de claves privadas de nivel de máquina en lugar del contenedor de nivel de usuario predeterminado.
-d|--description <DESCRIPTION>
Descripción del certificado de firma.
-u|--descriptionUrl <URL>
Descripción Dirección URL del certificado de firma.
-fd | --file-digest <DIGEST>
Algoritmo de síntesis con el que se va a aplicar un algoritmo hash al archivo.
-t|--timestamp-url <URL>
DIRECCIÓN URL del servidor de marca de tiempo rfC 3161. [valor predeterminado: http://timestamp.acs.microsoft.com/]
-tr | --timestamp-rfc3161 <URL>
Especifica la dirección URL del servidor de marca de tiempo RFC 3161.
-td|--timestamp-digest <DIGEST>
Se usa con
-tr
el modificador para solicitar un algoritmo de resumen utilizado por el servidor de marca de tiempo RFC 3161.-o|--output <PATH>
Archivo o carpeta de salida si se especifican varios archivos. Si se omite, se sobrescribe la entrada.
-b|--base-directory <PATH>
Directorio base para que los archivos invaliden el directorio de trabajo.
--f|--force
Sobrescribe una firma si existe.
-m|--max-concurrency <MAXCONCURRENCY>
Simultaneidad máxima (el valor predeterminado es 4)
-fl | --filelist <PATH>
Ruta de acceso al archivo que contiene rutas de acceso de archivos que se van a firmar o excluir de la firma dentro del contenedor.
-?|-h|--help
Imprime una descripción de cómo usar el comando .
Ejemplos
Firme contoso.vsix con un certificado importado al almacén de certificados de usuario :
sign contoso.vsix -cfp 24D589...FB9523B36E -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Firme contoso.vsix con certificado cert.pfx (no protegido con contraseña) mediante una huella digital SHA-512:
sign contoso.vsix -cfp A87A6F...894559B981 -cfpa sha512 -cf D:\certificates\cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Firma contoso.vsix con certificado cert.pfx (protegido con contraseña):
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -cf cert.pfx -p <password> -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Firmar varios paquetes VSIX: contoso.vsix y todos los archivos .vsix del directorio especificados con certificado cert.pfx (no protegido con contraseña):
sign *.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -cf cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Firme contoso.vsix con un certificado almacenado en una unidad USB segura.
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "NuGetSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Firme contoso.vsix con un certificado almacenado en una unidad USB segura y acceda al mismo desde el almacén de certificados de la máquina (opción-km).
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "NuGetSigning 0B2D249223B36D00A7DF07FB95E24D58" -km -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Nota:
Cuando
-k
no se proporciona la opción , la herramienta comprueba todos los contenedores del CSP proporcionado para obtener un certificado de huella digital SHA coincidente.Firme contoso.vsix con un certificado almacenado en una unidad USB segura que especifique el algoritmo de síntesis de archivos (-fd), el servidor de marca de tiempo (-t) y una ruta de acceso de salida personalizada (-o) para el VSIX firmado.
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "NuGetSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com" -t "http://timestamp.acs.microsoft.com/" -fd sha256 -o "ContosoSigned.vsix"