logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline faustoun  
#1 Оставлено : 3 декабря 2018 г. 5:26:26(UTC)
faustoun

Статус: Участник

Группы: Участники
Зарегистрирован: 17.06.2015(UTC)
Сообщений: 11

Сказал(а) «Спасибо»: 4 раз
Добрый день, Уважаемые форумчане!

Столкнулись с некоторой проблемой работы Browser Plugin и Сервера, получающего подпись.

Через плагин КриптоПро формируется подпись Cades-BES в формате Base64, и далее подпись передается на сервер для дальнейшей обработки.
Сервер отправляет подпись с файлом далее на другой сервис в виде байтового массива, но внешний сервис возвращает ошибку "Встречено неверное значение тега ASN.1"

Почитав ответы из других тем, и попробовав варианты, ничего дельного не получилось.
Пресловутый метод FromBase64String не декодирует данные подписи в кодировку DER.
Если набор байт записать в файл, то в текстовом редакторе появляется все тот же Base64.

Может быть у кого то есть опыт декодирования Base64 в DER?
Offline Андрей Писарев  
#2 Оставлено : 3 декабря 2018 г. 5:42:26(UTC)
Андрей Писарев

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

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

Сказал «Спасибо»: 264 раз
Поблагодарили: 1035 раз в 831 постах
Здравствуйте.

Пришлите файл в base64 в ЛС.

Из base64 декодируется в исходный вариант (бинарный),
что там за исходный формат der\jpeg\pdf - не играет роли.

thanks 1 пользователь поблагодарил Андрей Писарев за этот пост.
faustoun оставлено 03.12.2018(UTC)
Offline faustoun  
#3 Оставлено : 3 декабря 2018 г. 5:57:48(UTC)
faustoun

Статус: Участник

Группы: Участники
Зарегистрирован: 17.06.2015(UTC)
Сообщений: 11

Сказал(а) «Спасибо»: 4 раз
sign.zip (4kb) загружен 5 раз(а).

Файл заархивирован.
Offline Андрей Писарев  
#4 Оставлено : 3 декабря 2018 г. 6:27:45(UTC)
Андрей Писарев

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

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

Сказал «Спасибо»: 264 раз
Поблагодарили: 1035 раз в 831 постах
Цитата:
Через плагин КриптоПро формируется подпись Cades-BES в формате Base64


Прислать в ЛС можете часть кода, где добавляете OID 1.3.6.1.4.1.311.88.2.1?


Файл декодировался.
В ЛС можете прислать исходный документ, чтобы проверить еще и математическую корректность ЭП?

Либо сами проверьте, что исходный файл имеет хеш (по ГОСТ Р 34.11-94):
D21BE9345DD1E4A33D4834B4DA89DCD620A1C949794E2DABFFC2C544A51380DC


Могу предположить, что сервис не может обработать подписанный атрибут:
1.3.6.1.4.1.311.88.2.1

Snimok ehkrana ot 2018-12-03 10-26-19.png (53kb) загружен 14 раз(а).
thanks 1 пользователь поблагодарил Андрей Писарев за этот пост.
faustoun оставлено 03.12.2018(UTC)
Offline Андрей Писарев  
#5 Оставлено : 3 декабря 2018 г. 11:26:45(UTC)
Андрей Писарев

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

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

Сказал «Спасибо»: 264 раз
Поблагодарили: 1035 раз в 831 постах
Посмотрите в коде, как добавляется CAPICOM DOCUMENT NAME
thanks 1 пользователь поблагодарил Андрей Писарев за этот пост.
faustoun оставлено 03.12.2018(UTC)
Offline faustoun  
#6 Оставлено : 3 декабря 2018 г. 12:04:04(UTC)
faustoun

Статус: Участник

Группы: Участники
Зарегистрирован: 17.06.2015(UTC)
Сообщений: 11

Сказал(а) «Спасибо»: 4 раз
Это же название этого ОИДа - 1.3.6.1.4.1.311.88.2.1.

Они не упоминаются в коде. есть только такое.

cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;
cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;
cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;
cadesplugin.CADESCOM_ATTRIBUTE_OTHER = -1;

Мы взяли практически штатный пример кода из руководства по плагину.
Offline Андрей Писарев  
#7 Оставлено : 3 декабря 2018 г. 12:57:42(UTC)
Андрей Писарев

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

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

Сказал «Спасибо»: 264 раз
Поблагодарили: 1035 раз в 831 постах
Цитата:
ATTRIBUTE_DOCUMENT_NAME
DOCUMENT_DESCRIPTION


хорошо, посмотрим...
Offline Ситдиков Денис  
#8 Оставлено : 4 декабря 2018 г. 14:49:42(UTC)
Ситдиков Денис

Статус: Участник

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

Поблагодарили: 2 раз в 2 постах
Добрый день!
Возможно, проблемы с OID 1.3.6.1.4.1.311.88.2.1 возникают из-за некорректного отображения в asn1-viewer, у меня они отображаются корректно.
asn1.png (81kb) загружен 6 раз(а).
Я не совсем понял, где происходит раскодирование base64-строки - на сервере или на внешнем сервисе? Возможно ли, что на внешнем сервисе ожидается бинарный файл, а приходит base64-строка?
Offline faustoun  
#9 Оставлено : 5 декабря 2018 г. 6:31:28(UTC)
faustoun

Статус: Участник

Группы: Участники
Зарегистрирован: 17.06.2015(UTC)
Сообщений: 11

Сказал(а) «Спасибо»: 4 раз
Добрый день!

На сервис приходит бинарный файл.

Сотрудники компании воспроизвели проблему в последней версии плагина.

Сказали, что исправят.

Не знаю только куда мне результат доработки придет...
Offline Андрей Писарев  
#10 Оставлено : 5 декабря 2018 г. 16:14:21(UTC)
Андрей Писарев

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

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

Сказал «Спасибо»: 264 раз
Поблагодарили: 1035 раз в 831 постах
Здравствуйте.

Сообщим здесь.
Offline Андрей Писарев  
#11 Оставлено : 5 декабря 2018 г. 16:26:22(UTC)
Андрей Писарев

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

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

Сказал «Спасибо»: 264 раз
Поблагодарили: 1035 раз в 831 постах
Автор: faustoun Перейти к цитате
Это же название этого ОИДа - 1.3.6.1.4.1.311.88.2.1.

Они не упоминаются в коде. есть только такое.

cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;
cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;
cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;
cadesplugin.CADESCOM_ATTRIBUTE_OTHER = -1;

Мы взяли практически штатный пример кода из руководства по плагину.


Проверьте еще раз, в примерах как раз используется добавление этого атрибута.


в async_code.js, например.
Код:
        
 var oDocumentNameAttr = yield cadesplugin.CreateObjectAsync("CADESCOM.CPAttribute");
            yield oDocumentNameAttr.propset_Name(cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME);
            yield oDocumentNameAttr.propset_Value("Document Name");
            yield attr.Add(oDocumentNameAttr);



Уберите добавление и проверьте еще раз.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.