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 ou detailed.

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