Condividi tramite


Metodo ICLRStrongName::StrongNameSignatureGenerationEx

Genera una firma con nome sicuro per l'assembly definito, secondo i flag specificati.

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 contenente il manifesto dell'assembly per il quale sarà generata la firma con nome sicuro.

  • wszKeyContainer
    [in] Nome del contenitore di chiavi contenente la coppia di chiavi pubblica/privata.

    Se il parametro pbKeyBlob è null, wszKeyContainer deve specificare un contenitore valido all'interno del provider del servizio di crittografia (CSP, Cryptographic Service Provider). In questo caso, la coppia di chiavi archiviata nel contenitore verrà utilizzata per firmare il file.

    Se il parametro pbKeyBlob non è null, si presuppone che la coppia di chiavi sia contenuta nell'oggetto BLOB (Binary Large Object) della chiave.

  • pbKeyBlob
    [in] Puntatore alla coppia di chiavi pubblica/privata. Il formato di questa coppia corrisponde a quello creato dalla funzione Win32 CryptExportKey. Se il parametro pbKeyBlob è null, si presuppone che la coppia di chiavi sia archiviata nel contenitore di chiavi specificato dal parametro wszKeyContainer.

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

  • ppbSignatureBlob
    [out] Puntatore alla posizione in cui Common Language Runtime restituisce la firma. Se il parametro ppbSignatureBlob è null, la firma verrà archiviata nel file specificato da wszFilePath.

    Se ppbSignatureBlob è diverso da null, Common Language Runtime allocherà lo spazio in cui la firma deve essere restituita. Il chiamante deve liberare questo spazio utilizzando il metodo ICLRStrongName::StrongNameFreeBuffer.

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

  • dwFlags
    [In] Uno o più dei seguenti valori:

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

    • SN_TEST_SIGN (0x00000002) - Applica una firma di test all'assembly.

Valore restituito

S_OK se il metodo è stato completata correttamente; in caso contrario, un valore HRESULT che indica un esito negativo (consultare Valori comuni HRESULT per un elenco).

Note

Specificare null per il parametro wszFilePath per calcolare la dimensione della firma senza creare la firma.

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

Se si specifica SN_SIGN_ALL_FILES ma non è inclusa una chiave pubblica (i parametri pbKeyBlob e wszFilePath sono entrambi null), gli hash per i moduli collegati vengono ricalcolati ma l'assembly non viene firmato nuovamente.

Se si specifica SN_TEST_SIGN, l'intestazione di Common Language Runtime non viene modificata per indicare che l'assembly ha una firma con nome sicuro.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MetaHost.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4

Vedere anche

Riferimenti

Interfaccia ICLRStrongName

Altre risorse

Metodo ICLRStrongName::StrongNameSignatureGeneration

Cronologia delle modifiche

Data

Cronologia

Motivo

Aprile 2011

Ha corretto il valore restituito.

Correzione di bug nel contenuto.

Luglio 2010

Argomento aggiunto.

Miglioramento delle informazioni.