Delen via


Methode ICLRStrongName::StrongNameSignatureGenerationEx

Genereert een sterke naamhandtekening voor de opgegeven assembly, op basis van de opgegeven vlaggen.

Syntaxis

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

Parameters

wszFilePath
[in] Het pad naar het bestand dat het manifest bevat van de assembly waarvoor de handtekening voor de sterke naam wordt gegenereerd.

wszKeyContainer
[in] De naam van de sleutelcontainer die het openbare/persoonlijke sleutelpaar bevat.

Als pbKeyBlob null is, wszKeyContainer moet u een geldige container opgeven binnen de cryptografische serviceprovider (CSP). In dit geval wordt het sleutelpaar dat is opgeslagen in de container gebruikt om het bestand te ondertekenen.

Als pbKeyBlob niet null is, wordt ervan uitgegaan dat het sleutelpaar is opgenomen in de blob (binary large object) van de sleutel.

pbKeyBlob
[in] Een verwijzing naar het openbare/persoonlijke sleutelpaar. Dit paar heeft de indeling die is gemaakt door de Win32-functie CryptExportKey . Als pbKeyBlob null is, wordt ervan uitgegaan dat de sleutelcontainer die is opgegeven door wszKeyContainer het sleutelpaar bevat.

cbKeyBlob
[in] De grootte, in bytes, van pbKeyBlob.

ppbSignatureBlob
[uit] Een verwijzing naar de locatie waarnaar de common language runtime de handtekening retourneert. Als ppbSignatureBlob null is, slaat de runtime de handtekening op in het bestand dat is opgegeven door wszFilePath.

Als ppbSignatureBlob niet null is, wijst de runtime van de algemene taal ruimte toe waarin de handtekening moet worden geretourneerd. De aanroeper moet deze ruimte vrijmaken met behulp van de methode ICLRStrongName::StrongNameFreeBuffer .

pcbSignatureBlob
[uit] De grootte, in bytes, van de geretourneerde handtekening.

dwFlags
[in] Een of meer van de volgende waarden:

  • SN_SIGN_ALL_FILES (0x00000001): alle hashes voor gekoppelde modules opnieuw berekenen.

  • SN_TEST_SIGN (0x00000002) - Testonderteken de assembly.

Retourwaarde

S_OK als de methode is voltooid; anders een HRESULT-waarde die een fout aangeeft (zie Algemene HRESULT-waarden voor een lijst).

Opmerkingen

Geef null voor wszFilePath op om de grootte van de handtekening te berekenen zonder de handtekening te maken.

De handtekening kan rechtstreeks in het bestand worden opgeslagen of worden geretourneerd naar de beller.

Als SN_SIGN_ALL_FILES is opgegeven, maar er geen openbare sleutel is opgenomen (beide pbKeyBlob en wszFilePath null), worden hashes voor gekoppelde modules opnieuw gecomputeerd, maar wordt de assembly niet opnieuw ondertekend.

Als SN_TEST_SIGN is opgegeven, wordt de common language runtime-header niet gewijzigd om aan te geven dat de assembly is ondertekend met een sterke naam.

Vereisten

Platforms: Zie Systeemvereisten.

Header: MetaHost.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework versies: beschikbaar sinds 4

Zie ook