Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline RussianXIII  
#1 Оставлено : 13 апреля 2018 г. 15:05:59(UTC)
RussianXIII

Статус: Новичок

Группы: Участники
Зарегистрирован: 13.04.2018(UTC)
Сообщений: 4
Российская Федерация
Откуда: Москва

Здравствуйте! Мы используем пример CreateFile для iOS с КриптоПро CSP 4.0 build 9945. В нем представлены функции подписания (совмещенная подпись) и проверки подписи do_low_sign и do_low_verify соответственно. Но нам необходимо получать открепленную подпись и иметь возможность добавление подписи к уже существующей. Подскажите, каким образом мы могли бы это сделать? Заранее спасибо за ответ!
Online Александр Лавник  
#2 Оставлено : 13 апреля 2018 г. 18:05:44(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Добрый день.

1) Для создания открепленной подписи нужно в методе CryptMsgOpenToEncode использовать флаг CMSG_DETACHED_FLAG.

2) Для добавления подписи к существующей нужно:

- открыть файл с подписью методом CryptMsgOpenToDecode,

- добавить подпись методом CryptMsgControl, указав флаг CMSG_CTRL_ADD_SIGNER.

- получить сообщение методом CryptMsgGetParam, указав флаг CMSG_ENCODED_MESSAGE.
Техническую поддержку оказываем тут
Наша база знаний
Offline RussianXIII  
#3 Оставлено : 16 апреля 2018 г. 11:30:08(UTC)
RussianXIII

Статус: Новичок

Группы: Участники
Зарегистрирован: 13.04.2018(UTC)
Сообщений: 4
Российская Федерация
Откуда: Москва

Автор: Александр Лавник Перейти к цитате
Добрый день.

1) Для создания открепленной подписи нужно в методе CryptMsgOpenToEncode использовать флаг CMSG_DETACHED_FLAG.

2) Для добавления подписи к существующей нужно:

- открыть файл с подписью методом CryptMsgOpenToDecode,

- добавить подпись методом CryptMsgControl, указав флаг CMSG_CTRL_ADD_SIGNER.

- получить сообщение методом CryptMsgGetParam, указав флаг CMSG_ENCODED_MESSAGE.



Да, спасибо, открепленную подпись получилось добавить, но возникли такие вопросы:

1) Какими методами проверить ее?
2) Для добавлении подписи к существующей открывать сам подписываемый файл не требуется?

UPD: Второй вопрос решил, ответ не нужен =)

Отредактировано пользователем 16 апреля 2018 г. 14:48:54(UTC)  | Причина: Не указана

Offline RussianXIII  
#4 Оставлено : 17 апреля 2018 г. 16:29:41(UTC)
RussianXIII

Статус: Новичок

Группы: Участники
Зарегистрирован: 13.04.2018(UTC)
Сообщений: 4
Российская Федерация
Откуда: Москва

Требуется Ваша помощь, подпись добавляется и первая подпись нормальная, но через dss.cryptopro.ru/verify вторая подпись выдает ошибку "Не удалось проверить подпись CAdES-BES. Ошибка: [Элемент не найден]. Код: [0x80070490].Сертификат, на ключе которого было подписано сообщение, не найден.", прилагаю файл с подписью( tempFile.txt и tempFile_sig.txt.sig, код и подпись после прохода программы (tempFile.txt.sig):



tempFile.txt (454kb) загружен 4 раз(а). tempFile_sig.txt.sig (3kb) загружен 4 раз(а). tempFile.txt.sig (4kb) загружен 3 раз(а).

Плюс еще иногда вообще не удается подписать, возникает ошибка CSP_GetLastError() = 2148077570, лог:

Цитата:
capi20: 0x16f6ab000: :699 CryptMsgControl () Exception :'\316\370\350\341\352\340 0x80091002: Unknown cryptographic algorithm.' at file:'/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/capilite/CMSSignedMessage.cpp' line:2307
The length of the data has been calculated.
Output file (/var/mobile/Containers/Data/Application/3F7C98B9-9B85-4C23-9C86-1A59663BAD54/Documents/tempFile.pdf.sig) has been saved
capi20: 0x16f6ab000: :1640 CryptDestroyHash () invalid argument(s)!
cpcsp: 0x16f6ab000: :730 CPCReleaseContext (hProv=1035927670, dwFlags=0x0). Result=1, Err=0x80090020

Отредактировано пользователем 17 апреля 2018 г. 18:19:41(UTC)  | Причина: Не указана

Offline RussianXIII  
#5 Оставлено : 19 апреля 2018 г. 12:33:24(UTC)
RussianXIII

Статус: Новичок

Группы: Участники
Зарегистрирован: 13.04.2018(UTC)
Сообщений: 4
Российская Федерация
Откуда: Москва

UPD: Вопрос решился, была банальная проблема - пытались добавить соподпись с ГОСТ 3410-2012 к подписи с ГОСТ 3410-2001. Спасибо за помощь!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.