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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline serge375hfh45  
#1 Оставлено : 1 июня 2017 г. 17:24:21(UTC)
serge375hfh45

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

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

Здравствуйте.
Такая проблема:
При создании подписи (отсоединенной) с использованием CAPICOM (тип кодирования - CAPICOM_ENCODE_BASE64), созданная подпись в КриптоАРМ проходит проверку,
а на сервисе проверки подписи Контур.КриптоПро (https://crypto.kontur.ru) нет.
В чем может быть причина?. Файлы и скриншоты прикрепил.

Ehto primer.rar (251kb) загружен 9 раз(а).
Online Андрей Писарев  
#2 Оставлено : 1 июня 2017 г. 18:12:36(UTC)
Андрей *

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

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

Сказал «Спасибо»: 490 раз
Поблагодарили: 2032 раз в 1576 постах
Автор: serge375hfh45 Перейти к цитате
Здравствуйте.
Такая проблема:
При создании подписи (отсоединенной) с использованием CAPICOM (тип кодирования - CAPICOM_ENCODE_BASE64), созданная подпись в КриптоАРМ проходит проверку,
а на сервисе проверки подписи Контур.КриптоПро (https://crypto.kontur.ru) нет.
В чем может быть причина?. Файлы и скриншоты прикрепил.

Ehto primer.rar (251kb) загружен 9 раз(а).


Здравствуйте.

Причина в том, что сервис ждет CMS (DER), а не закодированный в base64 файл.

Если декодировать и отправить CMS, то всё нормально.
OK.png (67kb) загружен 27 раз(а).
А КриптоАРМ налету делает декодирование.

Техническую поддержку оказываем тут
Наша база знаний
Offline serge375hfh45  
#3 Оставлено : 2 июня 2017 г. 12:12:45(UTC)
serge375hfh45

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

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

Большое спасибо. Бесконечно признателен.
Offline serge375hfh45  
#4 Оставлено : 6 июня 2017 г. 13:23:09(UTC)
serge375hfh45

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

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

Добрый день!
Вы не могли бы уточнить по поводу:
>>> Если декодировать и отправить CMS, то всё нормально
Я пробывал следующее
- выбирал параметр CAPICOM_ENCODE_BINARY = 1

Utils = AutoObject.create("CAPICOM.Utilities");

Signer.certificate = aCertificate;
SignedData.content = vFile (бинарный тип);

-- Создаем отделенную цифровую подпись (Detached = true)
signature = vSignedData.sign(vSigner, true, CAPICOM_ENCODE_BINARY);

Но тогда
vSignedData.verify(result, true, CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE );
выдает ошибку:
"Встречено неверное значение тега ASN1"
Делаю так - не помогает:
SignedData.verify(Utils.Base64Encode(signature), true)
Без проверки сохраняю signature в Это_пример.sig
КриптоАРМ, вообще, говорит что это не подпись:
Расшифрованный файл не является подписью (0x80070057)
Как sig перекодировать в p7s?

Заранее спасибо.
Online Андрей Писарев  
#5 Оставлено : 6 июня 2017 г. 13:55:03(UTC)
Андрей *

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

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

Сказал «Спасибо»: 490 раз
Поблагодарили: 2032 раз в 1576 постах
варианты:
а) полный листинг (с подсветкой кода) + результаты (файлы)
б) использовать первый вариант, самостоятельно декодировать результат из base64
Техническую поддержку оказываем тут
Наша база знаний
Offline serge375hfh45  
#6 Оставлено : 6 июня 2017 г. 14:24:24(UTC)
serge375hfh45

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

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

Спасибо.
Полный листинг не поможет. не стандартная среда разработки (бухгалтерский софт).
Поэтому так выборочно.

vSigner = AutoObject.create("CAPICOM.SIGNER");
vSignedData = Autoobject.create("CAPICOM.SIGNEDDATA");

vFileBlob = BinaryObject.create;
vFileBlob.loadFromFile(aFileName);
vUtils = AutoObject.create("CAPICOM.Utilities");

vSigner.certificate = aCert;
vSignedData.content = vFileBlob;
result = vSignedData.sign(vSigner, true, CAPICOM_ENCODE_BINARY);
vSignedData.verify(result, true);
Возможно при помощи X509 попробую. Может знаете где пример такого же функционала , но на x509 поблизости лежит?
Online Андрей Писарев  
#7 Оставлено : 6 июня 2017 г. 14:26:31(UTC)
Андрей *

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

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

Сказал «Спасибо»: 490 раз
Поблагодарили: 2032 раз в 1576 постах
Автор: serge375hfh45 Перейти к цитате

Возможно при помощи X509 попробую. Может знаете где пример такого же функционала , но на x509 поблизости лежит?


Что "пробовать"?

Техническую поддержку оказываем тут
Наша база знаний
Offline serge375hfh45  
#8 Оставлено : 6 июня 2017 г. 15:01:33(UTC)
serge375hfh45

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

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

Создание подписи в CMS контейнере. Чтобы проходила проверку на сервисе криптопро. Я на такой объект натыкался - SignedCms
Спасибо

Отредактировано пользователем 6 июня 2017 г. 15:04:12(UTC)  | Причина: Не указана

Online Андрей Писарев  
#9 Оставлено : 6 июня 2017 г. 15:14:41(UTC)
Андрей *

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

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

Сказал «Спасибо»: 490 раз
Поблагодарили: 2032 раз в 1576 постах
Автор: serge375hfh45 Перейти к цитате
Создание подписи в CMS контейнере. Чтобы проходила проверку на сервисе криптопро. Я на такой объект натыкался - SignedCms
Спасибо


SignedCms

Метод SignedCms.ComputeSignature
Техническую поддержку оказываем тут
Наша база знаний
Offline serge375hfh45  
#10 Оставлено : 6 июня 2017 г. 15:23:48(UTC)
serge375hfh45

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

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

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