Статус: Новичок
Группы: Участники
Зарегистрирован: 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 файл. получаю ответ Электронная подпись недействительна Подлинность документа НЕ ПОДТВЕРЖДЕНА.
использую стороннюю программу подписываю этим же сертификатом и на сайте ГУ проверка проходит.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,698 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
Здравствуйте. Посмотрите описание. В результате получаете закодированную подпись в base64, так? Декодируйте и сохраните бинарные данные в файл, который проверяете через гос.услуги. Сайт не работает с base64, он работает с cms(der) |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,698 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
т.к. вызываете из 1С - используйте EncodingType = CAPICOM_ENCODE_BINARY
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 26.01.2018(UTC) Сообщений: 3 Откуда: Ногинск
|
на счет госуслуг я так делаю спасибо за совет. теперь возвращается строка в таком формате
"舰렎आ蘪虈܁ꀂຂォຂʥāఱਰ؆蔪ȃंରआ蘪虈܁ꀁંいંংꃯȃȁᄂ꼀쑺젌蘖䷅〷؈⨆΅Ȃ〃Ƃㅱ〞⨉䢆čĉ༖慣獀扫潫瑮牵爮ㅵ〘ؖ⨅΅Ťഒ〱㘲〶㘵㘰㈶〚ؘ⨈΅脃ăሁ「㘰㘶〳㌰㈱ㄷ》؉唃ȓ啒㌱̆ѕఈ㘪‶ꇐ닐뗐胑듐믐뻐닐臑뫐냐近퀠킾킱킻톰톁톂ㆌ〡؟唃܄᠌闐뫐냐苑뗐胑룐뷐뇐菑胑돐ⰱ⨰̆ѕఉ퀣"
для функции ОткрепленнаяПодпись = oSignedData.SignCades(CPSigner, CADES_BES, ИСТИНА, CAPICOM_ENCODE_BINARY); я так понимаю что то не то с кодировкой?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,698 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
Автор: mruslanm на счет госуслуг я так делаю спасибо за совет. теперь возвращается строка в таком формате
"舰렎आ蘪虈܁ꀂຂォຂʥāఱਰ؆蔪ȃंରआ蘪虈܁ꀁંいંংꃯȃȁᄂ꼀쑺젌蘖䷅〷؈⨆΅Ȃ〃Ƃㅱ〞⨉䢆čĉ༖慣獀扫潫瑮牵爮ㅵ〘ؖ⨅΅Ťഒ〱㘲〶㘵㘰㈶〚ؘ⨈΅脃ăሁ「㘰㘶〳㌰㈱ㄷ》؉唃ȓ啒㌱̆ѕఈ㘪‶ꇐ닐뗐胑듐믐뻐닐臑뫐냐近퀠킾킱킻톰톁톂ㆌ〡؟唃܄᠌闐뫐냐苑뗐胑룐뷐뇐菑胑돐ⰱ⨰̆ѕఉ퀣"
для функции ОткрепленнаяПодпись = oSignedData.SignCades(CPSigner, CADES_BES, ИСТИНА, CAPICOM_ENCODE_BINARY); я так понимаю что то не то с кодировкой?
Это CMS, бинарные данные, результат нельзя рассматривать, как тестовую строку. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,698 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,698 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
Здравствуйте. Делайте по документации. Код:
// Значение свойства ContentEncoding должно быть задано
// до заполнения свойства Content
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = dataToSign;
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close