Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
sign - Ferramenta Dotnet usada para assinar arquivos e contêineres usando certificados PFX, CER ou P7B no disco ou do Windows Certificate Manager (WCM), Cryptographic Service Providers (CSP) ou Azure Key Vault.
Importante
A CLI de assinatura suporta apenas SHA-256, SHA-384e SHA-512 como algoritmos de impressão digital válidos. Você pode usar o PowerShell para obter impressões digitais usando: Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
Importante
A CLI de assinatura suporta apenas algoritmos RSA, portanto, usar ECDSA para gerar sua impressão digital falhará na validação da assinatura durante a instalação. Isso não bloqueia a instalação, mas um aviso de "Assinatura inválida" aparecerá na janela do instalador do VSIX durante a instalação.
Sinopse
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
Descrição
Sign CLI é uma ferramenta Dotnet que assina recursivamente arquivos e contêineres com um certificado e privado. O certificado e a chave privada podem ser obtidos de um arquivo (PFX, P7B, CER) ou de um certificado instalado em um armazenamento de certificados, fornecendo uma impressão digital SHA-256, SHA-384ou SHA-512. As chaves USB podem ser acessadas usando um Cryptographic Service Provider (CSP) implementado pelo fabricante e acessado a partir do armazenamento de certificados.
Instalação
Instale a CLI do Sign globalmente usando o dotnet tool install sign --prerelease --global
Instalação offline da CLI de assinatura
Para ambientes isolados, você pode baixar um pacote NuGet da CLI de Sinais e instalá-lo usando:
dotnet tool install --global --add-source <path-to-folder> <tool-name> --version <version>
Argumentos
VSIX-paths(s)Especifica o(s) caminho(s) para o pacote VSIX a ser assinado.
Opções
-cf|--certificate-file <PATH>Arquivo PFX, P7B ou CER contendo um certificado e, potencialmente, uma chave privada.
-p|--password <PASSWORD>Senha opcional para arquivo de certificado.
-cfp|--certificate-fingerprint <SHA>Impressão digital SHA-256, SHA-384 ou SHA-512 usada para identificar um certificado antes da assinatura.
-csp|--crypto-service-provider <CSP NAME>Provedor de serviços de criptografia contendo uma chave privada.
Observação
Você pode ver todos os CSPs disponíveis executando
certutil -csplist, onde CSPs herdados especificam um "Tipo de provedor" e os provedores de GNC geralmente têm "Provedor de armazenamento de chaves" em seus nomes.certutil -csptest "<provider name>"fornece mais informações sobre fornecedores específicos.-k|--key-container <CONTAINER NAME>]Nome do contêiner de chave privada.
Observação
Você pode encontrar todas as chaves armazenadas em um CSP executando
certutil -csp <Provider Name> -key.-km|--use-machine-key-container]Use um contêiner de chave privada no nível da máquina em vez do contêiner padrão no nível do usuário.
-d|--description <DESCRIPTION>Descrição do certificado de assinatura.
-u|--descriptionUrl <URL>Descrição URL do certificado de assinatura.
-fd | --file-digest <DIGEST>Algoritmo de resumo para hash do arquivo.
-t|--timestamp-url <URL>URL do servidor de carimbo de data/hora RFC 3161. [padrão: http://timestamp.acs.microsoft.com/]
-tr | --timestamp-rfc3161 <URL>Especifica a URL do servidor de carimbo de data/hora RFC 3161.
-td|--timestamp-digest <DIGEST>Usado com
-trswitch para solicitar um algoritmo de resumo usado pelo servidor de carimbo de data/hora RFC 3161.-o|--output <PATH>O arquivo ou pasta de saída se vários arquivos forem especificados. Se omitida, a entrada é substituída.
-b|--base-directory <PATH>Diretório base para arquivos para substituir o diretório de trabalho.
--f|--forceSubstitui uma assinatura, se ela existir.
-m|--max-concurrency <MAXCONCURRENCY>Simultaneidade máxima (o padrão é 4)
-fl | --filelist <PATH>Caminho para o arquivo que contém caminhos de arquivos a serem assinados ou excluídos da assinatura dentro do contêiner.
-?|-h|--helpImprime uma descrição de como usar o comando.
-i|--interactiveSolicitar a entrada do usuário, que é necessária em alguns cenários, como ao usar uma chave protegida pelo usuário, onde uma senha deve ser inserida pelo usuário.
Exemplos
Assine contoso.vsix com um certificado importado para o armazenamento de certificados usuário:
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -d "Constoso VSIX Signature" -u "http://www.contoso.com"Assine contoso.vsix com certificado cert.pfx (não protegido por senha) usando uma impressão digital 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"Assine contoso.vsix com certificado cert.pfx (protegido por senha):
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -p <password> -d "Constoso VSIX Signature" -u "http://www.contoso.com"Assinar vários pacotes VSIX - contoso.vsix e todos os arquivos .vsix no diretório especificado com certificado cert.pfx (não protegido por senha):
sign code certificate-store *.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"Assine contoso.vsix com um certificado armazenado em uma unidade USB segura.
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"Assine contoso.vsix com um certificado armazenado em uma unidade USB segura e acessado da máquina armazenamento de certificados (opção-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"Observação
Quando
-kopção não é fornecida, a ferramenta verifica todos os contêineres no CSP fornecido em busca de um certificado de impressão digital SHA correspondente.Assine contoso.vsix com um certificado armazenado em uma unidade USB segura especificando o algoritmo de resumo de arquivos (-fd), servidor de carimbo de data/hora (-t) e um caminho de saída personalizado (-o) para o VSIX assinado.
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"