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 wszFilePath
pbKeyBlob
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