Sdílet prostřednictvím


ICLRStrongName::StrongNameSignatureGenerationEx – metoda

Vygeneruje podpis silného názvu pro zadané sestavení podle zadaných příznaků.

Syntaxe

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

Parametry

wszFilePath
[v] Cesta k souboru, který obsahuje manifest sestavení, pro které bude vygenerován podpis silného názvu.

wszKeyContainer
[v] Název kontejneru klíčů, který obsahuje pár veřejného a privátního klíče.

Pokud pbKeyBlob je hodnota null, wszKeyContainer musí zadat platný kontejner v rámci poskytovatele kryptografických služeb (CSP). V tomto případě se k podepsání souboru použije pár klíčů uložený v kontejneru.

Pokud pbKeyBlob není null, předpokládá se, že pár klíčů je obsažen v binárním velkém objektu (BLOB).

pbKeyBlob
[v] Ukazatel na pár veřejného a privátního klíče. Tato dvojice je ve formátu vytvořeném funkcí Win32 CryptExportKey . Pokud pbKeyBlob je hodnota null, předpokládá se, že kontejner klíčů určený parametrem wszKeyContainer obsahuje dvojici klíčů.

cbKeyBlob
[v] Velikost v bajtech pbKeyBlob.

ppbSignatureBlob
[out] Ukazatel na umístění, do kterého modul CLR (Common Language Runtime) vrátí podpis. Pokud ppbSignatureBlob je hodnota null, modul runtime uloží podpis do souboru určeného parametrem wszFilePath.

Pokud ppbSignatureBlob hodnota null není, modul CLR (Common Language Runtime) přidělí místo pro vrácení podpisu. Volající musí uvolnit toto místo pomocí metody ICLRStrongName::StrongNameFreeBuffer .

pcbSignatureBlob
[out] Velikost vráceného podpisu v bajtech

dwFlags
[v] Jedna nebo více následujících hodnot:

  • SN_SIGN_ALL_FILES (0x00000001) – Přepočítá všechny hodnoty hash propojených modulů.

  • SN_TEST_SIGN (0x00000002) – Podepište sestavení testem.

Návratová hodnota

S_OK pokud se metoda úspěšně dokončila; v opačném případě hodnota HRESULT, která označuje selhání (viz Běžné hodnoty HRESULT pro seznam).

Poznámky

Pokud chcete vypočítat velikost podpisu bez vytvoření podpisu, zadejte hodnotu null pro wszFilePath .

Podpis může být uložen přímo v souboru nebo vrácen volajícímu.

Pokud SN_SIGN_ALL_FILES je zadán, ale veřejný klíč není zahrnut (oba pbKeyBlobwszFilePath a mají hodnotu null), hodnoty hash pro propojené moduly se přepočítají, ale sestavení není znovu podepsáno.

Pokud SN_TEST_SIGN je zadán, hlavička modulu CLR (Common Language Runtime) se nezmění tak, aby značí, že sestavení je podepsáno silným názvem.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: MetaHost.h

Knihovny: Zahrnuto jako prostředek v MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od 4

Viz také