comando sign (CLI do NuGet)
Aplica-se a: criação de pacotes • Versões suportadas: 4.6 ou superior
Assina todos os pacotes do NuGet correspondentes ao primeiro argumento com um certificado. O certificado com a chave privada pode ser obtido de um arquivo ou de um certificado instalado em um repositório de certificados fornecendo um nome de assunto ou uma impressão digital.
Observação
Ainda não há suporte para a assinatura de pacotes no .NET Core, no Mono ou em plataformas que não sejam Windows.
Uso
nuget sign <package(s)> [options]
em que <package(s)>
é um ou mais arquivos .nupkg
.
Opções
-CertificateFingerprint
Especifica a impressão digital a ser usada para procurar o certificado em um repositório de certificados local.
A partir do NuGet.exe 6.12, essa opção pode ser usada para especificar a impressão digital SHA-1, SHA-256, SHA-384 ou SHA-512 do certificado. No entanto, um aviso
NU3043
é gerado quando uma impressão digital de certificado SHA-1 é usada, pois não é mais considerada segura.Todas as versões anteriores do NuGet.exe continuam a aceitar apenas a impressão digital do certificado SHA-1.
-CertificatePassword
Especifica a senha do certificado, se necessário. Se um certificado estiver protegido por senha, mas nenhuma senha for fornecida, o comando solicitará uma senha em tempo de execução, a menos que a opção
-NonInteractive
seja passada.-CertificatePath
Especifica o caminho do arquivo para o certificado a ser usado na assinatura do pacote.
-CertificateStoreLocation
Especifica o nome do repositório de certificados X.509 a ser usado para pesquisar o certificado. O padrão é “CurrentUser”, o repositório de certificados X.509 usado pelo usuário atual. Essa opção deve ser usada ao especificar o certificado por meio das opções
-CertificateSubjectName
ou-CertificateFingerprint
.-CertificateStoreName
Especifica o nome do repositório de certificados X.509 a ser usado para pesquisar o certificado. O padrão é “My”, o repositório de certificados X.509 para certificados pessoais. Essa opção deve ser usada ao especificar o certificado por meio das opções
-CertificateSubjectName
ou-CertificateFingerprint
.-CertificateSubjectName
Especifica o nome da entidade do certificado usado para pesquisar o certificado em um repositório de certificados local. A pesquisa é uma comparação de cadeia de caracteres que não diferencia maiúsculas de minúsculas usando o valor fornecido, que encontrará todos os certificados com o nome da entidade que contém essa cadeia de caracteres, independentemente de outros valores de assunto. O repositório de certificados pode ser especificado pelas opções
-CertificateStoreName
e-CertificateStoreLocation
.-ConfigFile
O arquivo de configuração do NuGet a ser aplicado. Se não for especificado,
%AppData%\NuGet\NuGet.Config
(Windows),~/.nuget/NuGet/NuGet.Config
ou~/.config/NuGet/NuGet.Config
(Mac/Linux) será usado.-ForceEnglishOutput
Força a execução de nuget.exe usando uma cultura invariável com base em inglês.
-HashAlgorithm
Algoritmo de hash a ser usado para assinar o pacote. Usa como padrão SHA256. Os valores possíveis são SHA256, SHA384 e SHA512.
-?|-help
Exibe as informações de ajuda para o comando.
-NonInteractive
Suprime solicitações de entrada de usuário ou confirmações.
-OutputDirectory
Especifica o diretório em que o pacote assinado deve ser salvo. Por padrão, o pacote original será substituído pelo pacote assinado.
-Overwrite
Mude para indicar se a assinatura atual deve ser substituída. Por padrão, o comando falhará se o pacote já tiver uma assinatura.
-Timestamper
URL para um servidor de aplicação de carimbo de data/hora RFC 3161.
-TimestampHashAlgorithm
Algoritmo de hash a ser usado pelo servidor de carimbo de data/hora RFC 3161. Usa como padrão SHA256.
-Verbosity [normal|quiet|detailed]
Especifica a quantidade de detalhes exibida na saída:
normal
(o padrão),quiet
oudetailed
.
Exemplos
nuget sign MyPackage.nupkg -CertificatePath .\..\certificate.pfx -Timestamper http://timestamp.test
nuget sign .\..\MyPackage.nupkg -CertificateStoreLocation CurrentUser -CertificateStoreName My -CertificateSubjectName 'subject name' -Timestamper http://timestamp.test -OutputDirectory .\..\Signed