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
odetailed
.
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