Поделиться через


Функция StrongNameGetPublicKey

Получает открытый ключ из пары открытого и закрытого ключей. Пара ключей может предоставляться в виде имени контейнера ключей в поставщике служб шифрования (CSP) или в виде необработанной коллекции байтов.

Не рекомендуется использовать эту функцию в .NET Framework 4. Вместо этого используйте метод ICLRStrongName::StrongNameGetPublicKey.

BOOLEAN StrongNameGetPublicKey ( 
    [in]  LPCWSTR   szKeyContainer,
    [in]  BYTE      *pbKeyBlob,
    [in]  ULONG     cbKeyBlob,
    [out] BYTE      **ppbPublicKeyBlob,
    [out] ULONG     *pcbPublicKeyBlob
);

Параметры

  • szKeyContainer
    [in] Имя контейнера ключей, содержащего пары открытого и закрытого ключей. Если значение параметра pbKeyBlob равно NULL, параметр szKeyContainer должен задавать допустимый контейнер в CSP. В этом случае, метод StrongNameGetPublicKey извлекает открытый ключ из пары ключей, хранящейся в контейнере.

    Если значение параметра pbKeyBlob не равно NULL, предполагается, что пара ключей расположена в большом двоичном объекте ключей.

    Ключи должны быть 1024-разрядными ключами подписи RSA. В настоящее время другие типы ключей не поддерживаются.

  • pbKeyBlob
    [in] Указатель на пару открытого и закрытого ключей. Формат этой пары создается функцией CryptExportKey для Win32. Если значение параметра pbKeyBlob равно NULL, предполагается, что пары ключей содержатся в контейнере ключей, заданном параметром szKeyContainer.

  • cbKeyBlob
    [in] Размер (в байтах) pbKeyBlob.

  • ppbPublicKeyBlob
    [out] Возвращаемый большой двоичный объекта ключа. Параметр ppbPublicKeyBlob выделяется средой CLR и возвращается вызывающему объекту. Вызывающий объект должен освободить память посредством функции StrongNameFreeBuffer.

  • pcbPublicKeyBlob
    [out] Размер возвращаемого большого двоичного объекта открытого ключа.

Возвращаемое значение

Значение true, если выполнение успешно, в противном случае — значение false.

Заметки

Открытый ключ содержится в структуре PublicKeyBlob.

Если выполнение функции StrongNameGetPublicKey не завершилось успешно, нужно вызвать функцию StrongNameErrorInfo для извлечения последней сгенерированной ошибки.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: StrongName.h

Библиотека: включена как ресурс в MsCorEE.dll

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0

См. также

Ссылки

Интерфейс ICLRStrongName

Структура PublicKeyBlob

Другие ресурсы

Метод ICLRStrongName::StrongNameGetPublicKey

Метод ICLRStrongName::StrongNameTokenFromPublicKey

Журнал изменений

Дата

Журнал

Причина

Июль 2010

Добавлена ссылка на рекомендуемый альтернативный способ.

Улучшение информации.