Condividi tramite


Metodo ICLRStrongName::StrongNameSignatureGenerationEx

Genera una firma con nome sicuro per l'assembly specificato, in base ai flag specificati.

Sintassi

HRESULT StrongNameSignatureGenerationEx (  
    [in]  LPCWSTR   wszFilePath,  
    [in]  LPCWSTR   wszKeyContainer,  
    [in]  BYTE      *pbKeyBlob,  
    [in]  ULONG     cbKeyBlob,  
    [out] BYTE      **ppbSignatureBlob,  
    [out] ULONG     *pcbSignatureBlob,  
    [in]  DWORD     dwFlags  
);  

Parametri

wszFilePath
[in] Percorso del file che contiene il manifesto dell'assembly per cui verrà generata la firma con nome sicuro.

wszKeyContainer
[in] Nome del contenitore di chiavi che contiene la coppia di chiavi pubblica/privata.

Se pbKeyBlob è Null, wszKeyContainer deve specificare un contenitore valido all'interno del provider di servizi di crittografia (CSP). In questo caso, la coppia di chiavi archiviata nel contenitore viene usata per firmare il file.

Se pbKeyBlob non è Null, si presuppone che la coppia di chiavi sia contenuta nell'oggetto BLOB (Key Binary Large Object).

pbKeyBlob
[in] Puntatore alla coppia di chiavi pubblica/privata. Questa coppia è nel formato creato dalla funzione Win32 CryptExportKey . Se pbKeyBlob è Null, si presuppone che il contenitore di chiavi specificato da wszKeyContainer contenga la coppia di chiavi.

cbKeyBlob
[in] Dimensione, in byte, di pbKeyBlob.

ppbSignatureBlob
[out] Puntatore alla posizione in cui Common Language Runtime restituisce la firma. Se ppbSignatureBlob è Null, il runtime archivia la firma nel file specificato da wszFilePath.

Se ppbSignatureBlob non è Null, Common Language Runtime alloca spazio in cui restituire la firma. Il chiamante deve liberare questo spazio usando il metodo ICLRStrongName::StrongNameFreeBuffer .

pcbSignatureBlob
[out] Dimensione, in byte, della firma restituita.

dwFlags
[in] Uno o più dei valori seguenti:

  • SN_SIGN_ALL_FILES (0x00000001) - Ricompilare tutti gli hash per i moduli collegati.

  • SN_TEST_SIGN (0x00000002) - Firmare l'assembly.

Valore restituito

S_OK se il metodo è stato completato correttamente; in caso contrario, un valore HRESULT che indica un errore (vedere Valori HRESULT comuni per un elenco).

Commenti

Specificare null per per wszFilePath calcolare le dimensioni della firma senza creare la firma.

La firma può essere archiviata direttamente nel file o restituita al chiamante.

Se SN_SIGN_ALL_FILES viene specificato ma non è inclusa una chiave pubblica (sia pbKeyBlob che wszFilePath sono Null), gli hash per i moduli collegati vengono ricalcolate, ma l'assembly non viene rifirmato.

Se SN_TEST_SIGN viene specificato, l'intestazione Common Language Runtime non viene modificata per indicare che l'assembly è firmato con un nome sicuro.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MetaHost.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile da 4

Vedi anche