Comparteix a través de


Comando sign (CLI de NuGet)

Se aplica a: creación de paquetes • Versiones compatibles: 4.6 y posteriores

Firma todos los paquetes en los que el primer argumento coincide con un certificado. El certificado con la clave privada se puede obtener de un archivo o de un certificado instalado en un almacén de certificados si se proporcionan un nombre de firmante o una huella digital.

Nota:

La firma de paquetes aún no se admite en .NET Core, en Mono ni en plataformas que no son de Windows.

Uso

nuget sign <package(s)> [options]

donde <package(s)> corresponde a uno o varios archivos .nupkg.

Opciones

  • -CertificateFingerprint

    Especifica la huella digital que se usa para buscar el certificado en un almacén de certificados local.

    A partir de NuGet.exe 6.12, esta opción se puede usar para especificar la huella digital SHA-1, SHA-256, SHA-384 o SHA-512 del certificado. Sin embargo, se genera una advertencia de NU3043 cuando se usa una huella digital de certificado SHA-1 porque ya no se considera segura.

    Todas las versiones anteriores de la NuGet.exe siguen aceptando solo la huella digital del certificado SHA-1.

  • -CertificatePassword

    Especifica la contraseña del certificado, si es necesario. Si un certificado está protegido con contraseña, pero no se proporciona ninguna contraseña, el comando solicitará una contraseña en tiempo de ejecución, a menos que se pase la opción -NonInteractive.

  • -CertificatePath

    Especifica la ruta del archivo al certificado que se utilizará al firmar el paquete.

  • -CertificateStoreLocation

    Especifica el nombre del almacén de certificados X.509 que se usará para buscar el certificado. El valor predeterminado es “CurrentUser”, el almacén de certificados X.509 que utiliza el usuario actual. Esta opción se debe usar al especificar el certificado mediante las opciones -CertificateSubjectName o -CertificateFingerprint.

  • -CertificateStoreName

    Especifica el nombre del almacén de certificados X.509 que se usará para buscar el certificado. El valor predeterminado es “My”, el almacén de certificados X.509 para certificados personales. Esta opción se debe usar al especificar el certificado mediante las opciones -CertificateSubjectName o -CertificateFingerprint.

  • -CertificateSubjectName

    Especifica el nombre del firmante del certificado que se usa para buscar el certificado en un almacén de certificados local. La búsqueda es una comparación de cadenas sin distinción de mayúsculas y minúsculas mediante el valor proporcionado, que buscará todos los certificados con el nombre del firmante que contiene esa cadena, con independencia de otros valores de firmante. El almacén de certificados se puede especificar mediante las opciones -CertificateStoreName y -CertificateStoreLocation.

  • -ConfigFile

    El archivo de configuración de NuGet que aplicar. Si no se especifica, se usa %AppData%\NuGet\NuGet.Config (Windows) o ~/.nuget/NuGet/NuGet.Config o ~/.config/NuGet/NuGet.Config (Mac/Linux).

  • -ForceEnglishOutput

    Fuerza la ejecución de nuget.exe mediante una referencia cultural en inglés invariable.

  • -HashAlgorithm

    Algoritmo hash que se va a usar para firmar el paquete. El valor predeterminado es SHA256. Los valores posibles son SHA256, SHA384 y SHA512.

  • -?|-help

    Muestra información de ayuda para el comando.

  • -NonInteractive

    Suprime solicitudes de confirmaciones o de entrada de usuario.

  • -OutputDirectory

    Especifica el directorio donde se debe guardar el paquete firmado. De manera predeterminada, el paquete firmado sobrescribe el paquete original.

  • -Overwrite

    Cambia para indicar si se debe sobrescribir la firma actual. De forma predeterminada, se producirá un error en el comando si el paquete ya tiene una firma.

  • -Timestamper

    Dirección URL a un servidor de asignación de marca de tiempo RFC 3161.

  • -TimestampHashAlgorithm

    Algoritmo hash que va a usar el servidor de asignación de marca de tiempo RFC 3161. El valor predeterminado es SHA256.

  • -Verbosity [normal|quiet|detailed]

    Especifica la cantidad de detalles que se muestran en la salida: normal (el valor predeterminado), quiet o detailed.

Ejemplos

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