Статус: Новичок
Группы: Участники
Зарегистрирован: 13.12.2018(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 2 раз
|
Добрый день! В документации на SDK, в описании функции CPSignHash по поводу формата создаваемой подписи написано следующее: Цитата:Функция CPSignHash() возвращает значение электронной цифровой подписи от значения функции хэширования. Аргументы: ...
... pdwSigLen [in/out] Указатель на буфер, содержащий длину данных подписи. При вызове функции указанный параметр должен содержать число байтов в буфере pbSignature. После её исполнения параметр будет установлен числом байтов данных, скопированных в буфер pbSignature. Если буфер, соответствующий pbSignature, недостаточно большой, чтобы в него копировать подпись, будет возвращён код ошибки ERROR_MORE_DATA через функцию SetLastError(). В этом случае требуемый размер буфера возвращается в pdwSigLen. Если эта функция завершается с кодом ошибки, отличным от ERROR_MORE_DATA, в этом параметре возвращается ноль. Подпись для ключей ГОСТ Р 34.10-2001 возвращается как описано CPPK (RFC 4491), но в обратном порядке байт. Например, подпись сертификата п. 4.2 будет возвращена: { 0xE2, 0xDE, 0x33, 0x1C, 0xB5, 0xD5, 0x31, 0xB1, 0xDA, 0xF4, 0x20, 0x62, 0x17, 0x89, 0x89, 0x68, 0x77, 0x55, 0x93, 0x36, 0xDD, 0xF3, 0x93, 0xB5, 0x71, 0xEC, 0x1B, 0x8D, 0x6E, 0x17, 0xDE, 0xC1, 0xDD, 0x3F, 0x54, 0xBC, 0x4F, 0x45, 0x16, 0x31, 0xED, 0xDE, 0x2E, 0x44, 0x7C, 0x64, 0xAA, 0xC3, 0xD2, 0x6D, 0x53, 0xFB, 0xE9, 0xD5, 0xA7, 0xEC, 0xA9, 0x27, 0xB7, 0x44, 0x09, 0xC9, 0x2F, 0x3C } То есть насчет подписи ГОСТ Р 34.10-2001 формат понятен. Вопрос насчет формата ГОСТ Р 34.10-2012 в документации не освещен, и не понятно - то ли подпись по ГОСТ Р 34.10-2012 возвращается так же, как для ГОСТ Р 34.10-2001 - в соответствии с RFC 4491, но обратный порядок байт, или так же, но прямой порядок байт?
|