Udostępnij za pośrednictwem


ICLRStrongName::StrongNameSignatureGenerationEx — Metoda

Generuje podpis silnej nazwy dla określonego zestawu, zgodnie z określonymi flagami.

Składnia

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
[w] Ścieżka do pliku zawierającego manifest zestawu, dla którego zostanie wygenerowany silny podpis nazwy.

wszKeyContainer
[w] Nazwa kontenera kluczy, który zawiera parę kluczy publicznych/prywatnych.

Jeśli pbKeyBlob ma wartość null, wszKeyContainer należy określić prawidłowy kontener w ramach dostawcy usług kryptograficznych (CSP). W takim przypadku para kluczy przechowywana w kontenerze jest używana do podpisywania pliku.

Jeśli pbKeyBlob nie ma wartości null, zakłada się, że para kluczy jest zawarta w kluczu binarnym dużym obiekcie (BLOB).

pbKeyBlob
[w] Wskaźnik do pary kluczy publicznych/prywatnych. Ta para jest w formacie utworzonym przez funkcję Win32 CryptExportKey . Jeśli pbKeyBlob ma wartość null, zakłada się, że kontener klucza określony przez wszKeyContainer parametr zawiera parę kluczy.

cbKeyBlob
[w] Rozmiar , w bajtach, .pbKeyBlob

ppbSignatureBlob
[out] Wskaźnik do lokalizacji, do której środowisko uruchomieniowe języka wspólnego zwraca podpis. Jeśli ppbSignatureBlob ma wartość null, środowisko uruchomieniowe przechowuje podpis w pliku określonym przez wszFilePath.

Jeśli ppbSignatureBlob nie ma wartości null, środowisko uruchomieniowe języka wspólnego przydziela miejsce, w którym ma być zwracany podpis. Obiekt wywołujący musi zwolnić to miejsce przy użyciu metody ICLRStrongName::StrongNameFreeBuffer .

pcbSignatureBlob
[out] Rozmiar w bajtach zwróconego podpisu.

dwFlags
[w] Co najmniej jedna z następujących wartości:

  • SN_SIGN_ALL_FILES (0x00000001) — ponowne skompiluj wszystkie skróty dla połączonych modułów.

  • SN_TEST_SIGN (0x00000002) — podpisz zestaw testowo.

Wartość zwracana

S_OK jeśli metoda została ukończona pomyślnie; w przeciwnym razie wartość HRESULT wskazująca błąd (zobacz Typowe wartości HRESULT dla listy).

Uwagi

Określ wartość null, wszFilePath aby obliczyć rozmiar podpisu bez tworzenia podpisu.

Podpis może być przechowywany bezpośrednio w pliku lub zwracany do wywołującego.

Jeśli SN_SIGN_ALL_FILES zostanie określony, ale klucz publiczny nie jest dołączony (zarówno i wszFilePathpbKeyBlob ma wartość null), skróty dla połączonych modułów są ponownie obliczane, ale zestaw nie jest ponownie podpisany.

Jeśli SN_TEST_SIGN zostanie określony, nagłówek środowiska uruchomieniowego języka wspólnego nie jest modyfikowany, aby wskazać, że zestaw jest podpisany przy użyciu silnej nazwy.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: MetaHost.h

Biblioteki: Uwzględnione jako zasób w MSCorEE.dll

wersje .NET Framework: dostępne od 4

Zobacz też