Метод StrongNameGetPublicKeyEx
Получает открытый ключ из пары открытого и закрытого ключей и задает хэш-алгоритм и алгоритм подписи.
Синтаксис
HRESULT StrongNameGetPublicKey (
[in] LPCWSTR pwzKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbPublicKeyBlob,
[out] ULONG *pcbPublicKeyBlob
[in] ULONG uHashAlgId,
[in] ULONG uReserved,
);
Параметры
pwzKeyContainer
[in] Имя контейнера ключей, содержащего пару открытого и закрытого ключей. Если pbKeyBlob
имеет значение NULL, szKeyContainer
необходимо указать допустимый контейнер в поставщике служб шифрования (CSP). В этом случае метод извлекает открытый ключ из пары ключей, StrongNameGetPublicKeyEx
хранящейся в контейнере.
Если pbKeyBlob
значение не равно NULL, предполагается, что пара ключей содержится в большом двоичном объекте ключа (BLOB).
Ключи должны быть 1024-разрядными ключами подписывания Rivest-Shamir-Adleman (RSA). В настоящее время другие типы ключей не поддерживаются.
pbKeyBlob
[in] Указатель на пару открытого и закрытого ключей. Эта пара имеет формат, созданный функцией Win32 CryptExportKey
. Если pbKeyBlob
имеет значение NULL, предполагается, что контейнер ключей, указанный параметром szKeyContainer
, содержит пару ключей.
cbKeyBlob
[in] Размер (в байтах) объекта pbKeyBlob
.
ppbPublicKeyBlob
[out] Возвращенный BLOB-объект открытого ключа. Параметр ppbPublicKeyBlob
выделяется средой CLR и возвращается вызывающей объекту. Вызывающий объект должен освободить память с помощью метода ICLRStrongName::StrongNameFreeBuffer .
pcbPublicKeyBlob
[out] Размер возвращаемого BLOB-объекта открытого ключа.
uHashAlgId
[in] Хэш-алгоритм сборки. Список допустимых значений см. в разделе Примечания.
uReserved
[in] Зарезервировано для использования в будущем; значение по умолчанию равно NULL.
Возвращаемое значение
S_OK
значение , если метод успешно завершен; В противном случае — значение HRESULT, указывающее на сбой (см. общие значения HRESULT для списка).
Комментарии
Открытый ключ содержится в структуре PublicKeyBlob .
В следующей таблице показан набор допустимых значений uHashAlgId
для параметра .
Имя | Значение |
---|---|
Нет | 0 |
SHA-1 | 0x8004 |
SHA-256 | 0x800c |
SHA-384 | 0x800d |
SHA-512 | 0x800e |
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MetaHost.h
Библиотека: Включается в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с версии 4.5.