Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция CryptXmlSign создает криптографическую подпись элемента SignedInfo .
Синтаксис
HRESULT CryptXmlSign(
[in] HCRYPTXML hSignature,
[in, optional] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hKey,
DWORD dwKeySpec,
DWORD dwFlags,
CRYPT_XML_KEYINFO_SPEC dwKeyInfoSpec,
[in, optional] const void *pvKeyInfoSpec,
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] const CRYPT_XML_ALGORITHM *pCanonicalization
);
Параметры
[in] hSignature
Дескриптор структуры CRYPT_XML_SIGNATURE .
[in, optional] hKey
Дескриптор закрытого ключа , используемого для подписывания элемента SignedInfo . Этот параметр должен иметь значение NULL для алгоритмов подписи на основе HMAC.
dwKeySpec
Значение DWORD , указывающее тип ключа. Этот параметр может принимать одно из указанных ниже значений.
| Значение | Значение |
|---|---|
|
Пара ключей — это пара обмена ключами. |
|
Пара ключей является парой подписей. |
|
Ключ — это api шифрования: ключ следующего поколения (CNG). |
dwFlags
Значение DWORD , определяющее способ подписи данных. Этот параметр может принимать одно из указанных ниже значений.
dwKeyInfoSpec
Тип структуры данных, на которую указывает параметр pvKeyInfoSpec . Ниже приведены некоторые возможные сочетания.
| dwKeyInfec | pvKeyInfoSpec |
|---|---|
| CRYPT_XML_KEYINFO_SPEC_NONE | Задано значение NULL |
| CRYPT_XML_KEYINFO_SPEC_ENCODED | Указывает на структуру CRYPT_XML_BLOB |
| CRYPT_XML_KEYINFO_SPEC_PARAM | Указывает на структуру CRYPT_XML_KEYINFO_PARAM |
[in, optional] pvKeyInfoSpec
Указатель на структуру, тип которой определяется значением параметра dwKeyInfoSpec .
[in] pSignatureMethod
Указатель на структуру CRYPT_XML_ALGORITHM , задающую метод сигнатуры.
[in] pCanonicalization
Указатель на структуру CRYPT_XML_ALGORITHM , задающую метод канонизации.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает ноль.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку.
Комментарии
Если сертификат не найден, CryptXmlSign создаст пользовательский интерфейс для выбора сертификата. Если это окно создается из процесса, запущенного в сеансе 0, приложение может неожиданно завершить работу.
Требования
| Минимальная версия клиента | Windows 7 [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
| Целевая платформа | Windows |
| Header | cryptxml.h |
| Библиотека | Cryptxml.lib |
| DLL | Cryptxml.dll |