Бөлісу құралы:


Метод 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.

См. также раздел