Compartilhar via


Método SignedCode.Sign

[O método Sign está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use as funções PInvoke (Serviços de Invocação de Plataforma) para chamar as funções SignerSignEx, SignerTimeStampEx e WinVerifyTrust da API win32 para assinar conteúdo com uma assinatura digital Authenticode. Para obter informações sobre o PInvoke, consulte Tutorial de invocação de plataforma. O .NET e CryptoAPI via P/Invoke: Parte 1 e .NET e CryptoAPI via P/Invoke: subseções da parte 2 de estender a criptografia do .NET com CAPICOM e P/Invoke também podem ser úteis.]

O método Sign cria uma assinatura digital Authenticode e assina o arquivo executável especificado na propriedade SignedCode.FileName .

Sintaxe

SignedCode.Sign( _
  [ ByVal Signer ] _
)

Parâmetros

Entrada [entrada, opcional]

Um objeto Signer que tem acesso à chave privada do certificado usado para assinar o código. O valor padrão é Null.

Valor retornado

Esse método não retorna um valor.

Comentários

Antes que o método Sign seja chamado, o arquivo que contém o código deve ser especificado na propriedade FileName .

Se o arquivo executável já estiver assinado, esse método substituirá a assinatura existente.

Os seguintes resultados se aplicam ao valor do parâmetro Signer :

  • Se o parâmetro Signer não for NULL, esse método usará a chave privada apontada pelo certificado associado para criptografar a assinatura. Se a chave privada apontada pelo certificado não estiver disponível, o método falhará.
  • Se o parâmetro Signer for NULL e houver exatamente um certificado no repositório my CURRENT_USER que tenha acesso a uma chave privada com a funcionalidade de assinatura de código, esse certificado será usado para criar a assinatura.
  • Se o parâmetro Signer for NULL, o valor da propriedade Settings.EnablePromptForCertificateUI será true e houver mais de um certificado no repositório my CURRENT_USER com uma chave privada disponível com a funcionalidade de assinatura de código, uma caixa de diálogo será exibida que permite ao usuário selecionar qual certificado é usado.
  • Se o parâmetro Signer for NULL e a propriedade Settings.EnablePromptForCertificateUI for false, o método falhará.
  • Se o parâmetro Signer for NULL e não houver certificados no repositório my CURRENT_USER com uma chave privada disponível com a funcionalidade de assinatura de código, o método falhará.

Esse método usa o algoritmo de hash SHA-1.

Requisitos

Requisito Valor
Redistribuível
CAPICOM 2.0 ou posterior no Windows Server 2003 e Windows XP
DLL
Capicom.dll