Condividi tramite


Metodo SignedCode.Sign

[Il metodo Sign è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Usare invece Platform Invocation Services (PInvoke) per chiamare le funzioni SignerSignEx, SignerTimeStampEx e WinVerifyTrust win32 per firmare il contenuto con una firma digitale Authenticode. Per informazioni su PInvoke, vedere Esercitazione su Platform Invoke. .NET e CryptoAPI tramite P/Invoke: parte 1 e .NET e CryptoAPI tramite P/Invoke: le sottosezioni della parte 2 dell'estensione della crittografia .NET con CAPICOM e P/Invoke possono essere utili.

Il metodo Sign crea una firma digitale Authenticode e firma il file eseguibile specificato nella proprietà SignedCode.FileName .

Sintassi

SignedCode.Sign( _
  [ ByVal Signer ] _
)

Parametri

Firmatario [in, facoltativo]

Oggetto Signer che ha accesso alla chiave privata del certificato utilizzato per firmare il codice. Il valore predefinito è Null.

Valore restituito

Questo metodo non restituisce valori.

Commenti

Prima della chiamata al metodo Sign , il file contenente il codice deve essere specificato nella proprietà FileName .

Se il file eseguibile è già firmato, questo metodo sovrascrive la firma esistente.

I risultati seguenti si applicano al valore del parametro Signer :

  • Se il parametro Signer non è NULL, questo metodo usa la chiave privata a cui punta il certificato associato per crittografare la firma. Se la chiave privata a cui punta il certificato non è disponibile, il metodo ha esito negativo.
  • Se il parametro Signer è NULL ed è presente esattamente un certificato nell'archivio CURRENT_USER MY che ha accesso a una chiave privata con funzionalità di firma del codice, tale certificato viene usato per creare la firma.
  • Se il parametro Signer è NULL, il valore della proprietà Settings.EnablePromptForCertificateUI è true ed è presente più di un certificato nell'archivio CURRENT_USER MY con una chiave privata disponibile con funzionalità di firma del codice, viene visualizzata una finestra di dialogo che consente all'utente di selezionare il certificato usato.
  • Se il parametro Signer è NULL e la proprietà Settings.EnablePromptForCertificateUI è false, il metodo ha esito negativo.
  • Se il parametro Signer è NULL e non sono presenti certificati nell'archivio CURRENT_USER MY con una chiave privata disponibile con funzionalità di firma del codice, il metodo ha esito negativo.

Questo metodo usa l'algoritmo hash SHA-1.

Requisiti

Requisito Valore
Componente ridistribuibile
CAPICOM 2.0 o versione successiva in Windows Server 2003 e Windows XP
DLL
Capicom.dll