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

Уведомление

Icon
Error

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

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

Группы: Участники
Зарегистрирован: 26.01.2018(UTC)
Сообщений: 3
Откуда: Ногинск

Доброго всем дня!

подскажите необходимо подписать xml файл и получить Отсоединенную подпись.
использую такой код на 1с:


CPSigner = Новый COMОбъект("CAdESCOM.CPSigner");
CPSigner.Certificate = пСертификат;
CPSigner.KeyPin = СекретныйКлюч;
CPSigner.Options = CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY;

oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");


oSignedData.content = Новый ДвоичныеДанные(XMLЗаявление);

ОткрепленнаяПодпись = oSignedData.SignCades(CPSigner, CADES_BES, ИСТИНА);

Далее на сайт(https://www.gosuslugi.ru/pgu/eds/) загружаю Отсоединенную подпись и xml файл. получаю ответ Электронная подпись недействительна
Подлинность документа НЕ ПОДТВЕРЖДЕНА.

использую стороннюю программу подписываю этим же сертификатом и на сайте ГУ проверка проходит.
Offline Андрей Писарев  
#2 Оставлено : 29 марта 2018 г. 13:38:25(UTC)
Андрей *

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

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

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

Посмотрите описание.
В результате получаете закодированную подпись в base64, так?
Декодируйте и сохраните бинарные данные в файл, который проверяете через гос.услуги.
Сайт не работает с base64, он работает с cms(der)
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#3 Оставлено : 29 марта 2018 г. 13:48:03(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
т.к. вызываете из 1С - используйте EncodingType = CAPICOM_ENCODE_BINARY
Техническую поддержку оказываем тут
Наша база знаний
Offline mruslanm  
#4 Оставлено : 29 марта 2018 г. 14:22:58(UTC)
mruslanm

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

Группы: Участники
Зарегистрирован: 26.01.2018(UTC)
Сообщений: 3
Откуда: Ногинск

на счет госуслуг я так делаю спасибо за совет. теперь возвращается строка в таком формате

"舰렎आ蘪虈෷܁ꀂຂォຂʥāఱਰ؆蔪ȃंରआ蘪虈෷܁ꀁંいં぀ংꃯȃȁᄂ꼀쑺젌蘖䷅〷؈⨆΅Ȃ〃Ƃㅱ〞؜⨉䢆čĉ༖慣獀扫潫瑮牵爮ㅵ〘ؖ⨅΅Ťഒ〱㘲〶㘵㘰㈶㄰〚ؘ⨈΅脃ăሁ「㘰㘶〳㌰㈱ㄷ》؉唃؄ȓ啒㌱㄰̆ѕఈ㘪‶ꇐ닐뗐胑듐믐뻐닐臑뫐냐近퀠킾킱킻톰톁톂ㆌ〡؟唃܄᠌闐뫐냐苑뗐胑룐뷐뇐菑胑돐ⰱ⨰̆ѕఉ퀣"

для функции ОткрепленнаяПодпись = oSignedData.SignCades(CPSigner, CADES_BES, ИСТИНА, CAPICOM_ENCODE_BINARY);
я так понимаю что то не то с кодировкой?
Offline Андрей Писарев  
#5 Оставлено : 29 марта 2018 г. 14:35:43(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
Автор: mruslanm Перейти к цитате
на счет госуслуг я так делаю спасибо за совет. теперь возвращается строка в таком формате

"舰렎आ蘪虈෷܁ꀂຂォຂʥāఱਰ؆蔪ȃंରआ蘪虈෷܁ꀁંいં぀ংꃯȃȁᄂ꼀쑺젌蘖䷅〷؈⨆΅Ȃ〃Ƃㅱ〞؜⨉䢆čĉ༖慣獀扫潫瑮牵爮ㅵ〘ؖ⨅΅Ťഒ〱㘲〶㘵㘰㈶㄰〚ؘ⨈΅脃ăሁ「㘰㘶〳㌰㈱ㄷ》؉唃؄ȓ啒㌱㄰̆ѕఈ㘪‶ꇐ닐뗐胑듐믐뻐닐臑뫐냐近퀠킾킱킻톰톁톂ㆌ〡؟唃܄᠌闐뫐냐苑뗐胑룐뷐뇐菑胑돐ⰱ⨰̆ѕఉ퀣"

для функции ОткрепленнаяПодпись = oSignedData.SignCades(CPSigner, CADES_BES, ИСТИНА, CAPICOM_ENCODE_BINARY);
я так понимаю что то не то с кодировкой?


Это CMS, бинарные данные, результат нельзя рассматривать, как тестовую строку.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#6 Оставлено : 30 марта 2018 г. 12:36:44(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
Написал в ЛС
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#7 Оставлено : 30 марта 2018 г. 12:40:19(UTC)
Андрей *

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

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

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

Делайте по документации.

Код:

// Значение свойства ContentEncoding должно быть задано
        // до заполнения свойства Content
        oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
        oSignedData.Content = dataToSign;

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