Метод ICLRStrongName::StrongNameSignatureGenerationEx
Создает подпись со строгим именем для указанной сборки в соответствии с заданными флагами.
HRESULT StrongNameSignatureGenerationEx (
[in] LPCWSTR wszFilePath,
[in] LPCWSTR wszKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbSignatureBlob,
[out] ULONG *pcbSignatureBlob,
[in] DWORD dwFlags
);
Параметры
wszFilePath
[in] Путь к файлу, содержащему манифест сборки, для которой будет создана подпись со строгим именем.wszKeyContainer
[in] Имя контейнера ключей, содержащего пары открытого и закрытого ключей.Если параметр pbKeyBlob равен NULL, параметр wszKeyContainer должен задавать допустимый контейнер в поставщике служб шифрования (CSP). В данном случае для подписания файла используется пара ключей, хранящихся в контейнере.
Если значение параметра pbKeyBlob не равно NULL, предполагается, что пара ключей расположена в большом двоичном объекте ключей.
pbKeyBlob
[in] Указатель на пару открытого и закрытого ключей. Формат этой пары создается функцией CryptExportKey для Win32. Если значение параметра pbKeyBlob равно NULL, предполагается, что пары ключей содержатся в контейнере ключей, заданном параметром wszKeyContainer.cbKeyBlob
[in] Размер (в байтах) pbKeyBlob.ppbSignatureBlob
[out] Указатель на расположение, в которое среда CLR возвращает подпись. Если значение параметра ppbSignatureBlob равно NULL, среда выполнения сохраняет подпись в файле, заданном параметром wszFilePath.Если значение параметра ppbSignatureBlob не равно NULL, среда CLR выделяет место для возвращения подписи. Вызывающий объект должен освободить это пространство, используя метод ICLRStrongName::StrongNameFreeBuffer.
pcbSignatureBlob
[out] Размер возвращаемой подписи (в байтах).dwFlags
[in] Одно или несколько следующих значений:SN_SIGN_ALL_FILES (0x00000001) — повторно вычисляет все хэши для связанных модулей;
SN_TEST_SIGN (0x00000002) — пробное подписание сборки.
Возвращаемое значение
Значение S_OK, если выполнение метода завершено успешно, в противном случае — значение HRESULT, указывающее отказ (см. список на странице Common HRESULT Values для списка).
Заметки
Чтобы вычислить размер подписи без ее создания нужно задать значение NULL для параметра wszFilePath.
Подпись может храниться либо непосредственно в файле, либо возвращаться вызову.
Если задано значение SN_SIGN_ALL_FILES без открытого ключа (оба параметра pbKeyBlob и wszFilePath равны NULL), хэши для связанных модулей вычисляются повторно, однако сборка повторно не подписывается.
Если задан параметр SN_TEST_SIGN, заголовок среды CLR не изменяется и не указывает на то, что сборка подписана строгим именем.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: MetaHost.h
Библиотека: включена как ресурс в MSCorEE.dll
Версии платформы .NET Framework: 4
См. также
Ссылки
Другие ресурсы
Метод ICLRStrongName::StrongNameSignatureGeneration
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Апрель 2011 |
Исправлено возвращаемое значение. |
Исправление ошибки содержимого. |
Июль 2010 |
Добавлен раздел. |
Улучшение информации. |