Compartir a través de


Método SignedCode.Sign

[El método Sign está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En su lugar, use Servicios de invocación de plataforma (PInvoke) para llamar a las funciones SignerSignEx, SignerTimeStampEx y WinVerifyTrust para firmar contenido con una firma digital Authenticode. Para obtener información sobre PInvoke, vea Tutorial de invocación de plataforma. .NET y CryptoAPI a través de P/Invoke: parte 1 y .NET y CryptoAPI a través de P/Invoke: subsecciones de la parte 2 de extensión de criptografía de .NET con CAPICOM y P/Invoke también pueden ser útiles.]

El método Sign crea una firma digital Authenticode y firma el archivo ejecutable especificado en la propiedad SignedCode.FileName .

Sintaxis

SignedCode.Sign( _
  [ ByVal Signer ] _
)

Parámetros

Firmante [in, opcional]

Objeto Signer que tiene acceso a la clave privada del certificado utilizado para firmar el código. El valor predeterminado es Null.

Valor devuelto

Este método no devuelve ningún valor.

Comentarios

Antes de llamar al método Sign , el archivo que contiene el código debe especificarse en la propiedad FileName .

Si el archivo ejecutable ya está firmado, este método sobrescribe la firma existente.

Los resultados siguientes se aplican al valor del parámetro Signer :

  • Si el parámetro Signer no es NULL, este método usa la clave privada a la que apunta el certificado asociado para cifrar la firma. Si la clave privada a la que apunta el certificado no está disponible, se produce un error en el método.
  • Si el parámetro Signer es NULL y hay exactamente un certificado en el almacén my de CURRENT_USER que tiene acceso a una clave privada con la funcionalidad de firma de código, ese certificado se usa para crear la firma.
  • Si el parámetro Signer es NULL, el valor de la propiedad Settings.EnablePromptForCertificateUI es true y hay más de un certificado en la CURRENT_USER mi almacén con una clave privada disponible con la funcionalidad de firma de código, aparece un cuadro de diálogo que permite al usuario seleccionar qué certificado se usa.
  • Si el parámetro Signer es NULL y la propiedad Settings.EnablePromptForCertificateUI es false, se produce un error en el método.
  • Si el parámetro Signer es NULL y no hay ningún certificado en la CURRENT_USER mi almacén con una clave privada disponible con la funcionalidad de firma de código, se produce un error en el método.

Este método usa el algoritmo hash SHA-1.

Requisitos

Requisito Value
Redistribuible
CAPICOM 2.0 o posterior en Windows Server 2003 y Windows XP
Archivo DLL
Capicom.dll