Развернуть все
Свернуть все

Метод ISymmetricAlgorithm::ExportKey

Экспортирует симметричный ключ в зашифрованном виде.

Синтаксис

C++
Visual Basic 6
 HRESULT ExportKey (
   ICertificate *pVal,
   BSTR *pbData
 );
 Function ExportKey ( _
   pVal As ICertificate _
 ) As String

Параметры

pVal

[in] Сертификат получателя, в адрес которого будет зашифрован экспортируемый ключ.

pbData

[out, retval] Данные, содержащие зашифрованный ключ, а также данные параметров шифрования и данные, необходимые для последующего расшифрования ключа с помощью метода ImportKey. Экспорт ключа производится с помощью вызова CryptExportKey(CALG_PRO_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2001 или CryptExportKey(CALG_PRO12_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2012. Данные возвращаются в виде строки шестнадцатеричных цифр, группами по две цифры на байт, разделённых пробелами. Данные содержат три компонента, разделённые символом ":":

  1. Параметры шифрования ключа обмена. Компонент является результатом выполнения CryptGetKeyParam(KP_CIPHEROID).

  2. Эфемерный открытый ключ, который использовался для выработки ключа обмена. Компонент является результатом выполнения CryptExportKey(PUBLICKEYBLOBEX).

  3. Симметричный ключ, зашифрованный на ключе обмена. Компонент является результатом выполнения CryptExportKey(SIMPLEBLOB).

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

Возвращаемое значение имеет тип HRESULT. Значение S_OK означает успешное выполнение.

Параметры

pVal

Сертификат получателя, в адрес которого будет зашифрован экспортируемый ключ.

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

Данные, содержащие зашифрованный ключ, а также данные параметров шифрования и данные, необходимые для последующего расшифрования ключа с помощью метода ImportKey. Экспорт ключа производится с помощью вызова CryptExportKey(CALG_PRO_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2001 или CryptExportKey(CALG_PRO12_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2012. Данные возвращаются в виде строки шестнадцатеричных цифр, группами по две цифры на байт, разделённых пробелами. Данные содержат три компонента, разделённые символом ":":

  1. Параметры шифрования ключа обмена. Компонент является результатом выполнения CryptGetKeyParam(KP_CIPHEROID).

  2. Эфемерный открытый ключ, который использовался для выработки ключа обмена. Компонент является результатом выполнения CryptExportKey(PUBLICKEYBLOBEX).

  3. Симметричный ключ, зашифрованный на ключе обмена. Компонент является результатом выполнения CryptExportKey(SIMPLEBLOB).

Примечания

Метод ExportKey экспортирует симметричный ключ в зашифрованном виде.

Требования

Заголовочный файл cadescom.h
Библиотека DLL cadescom.dll
Идентификаторы GUID cadescom_i.c
Минимальная версия продукта 2.0

См. также