|
Честный Знак: Не пройдена проверка подписи. | ☑ | ||
---|---|---|---|---|
0
Megas
17.06.20
✎
16:43
|
Здравствуйте.
Пробую по API в Честный Знак передать информацию по обуви. Раньше была другая подпись, которая на днях истекла, и с ней документ передавался нормально. Теперь новая актуальная подпись, и например Документы EDI ей подписываются и принимаются нормально, а вот ЧЗ не хочет её нормально воспринимать. Получаю TOKEN, и тут подпись работает, но дальше когда я подписываю документ и отправляю, мне пишет: Не пройдена проверка подписи, при этом через Web интерфейс(браузер) подписывается нормально. Кто знает с чем может быть связана пробемма? |
|||
1
D_E_S_131
17.06.20
✎
17:09
|
В ЛК для пользователя добавляли новый сертификат под новую подпись?
|
|||
2
Megas
17.06.20
✎
17:53
|
(1) Сейчас гляну =) Спасибо
|
|||
3
spectre1978
17.06.20
✎
17:54
|
Сертификат нужно отправить в ту контору, которая будет проверять. Иначе она никак не поверит.
|
|||
4
Megas
17.06.20
✎
18:05
|
(3) Это что означает?
Через Веб интерфейс заходит. В пользователях указан какойто сертификат но там странные даты. срока действия 03.01.51681 - 29.03.52932 Когда нажал добавить и указал новый сертификат, То мне сказало что он уже зарегестрирован |
|||
5
spectre1978
17.06.20
✎
18:24
|
(4) это значит, что когда вы получили новую подпись, то ее сертификат нужно тем или иным способом донести до конторы, которая ее проверяет. В ЛК загрузить или по почте отправить или ещё как-то, но если его у них не будет - проверку они сделать не смогут.
|
|||
6
Megas
17.06.20
✎
18:36
|
(5) У меня 1 пользователь, если пытаюсь добавить ещё и выбираю новый "Сертификат", То пишет - данный сертификат уже зарегистрирован.
|
|||
7
vovastar
17.06.20
✎
18:42
|
(5) по почте ЭЦП отправить? Вы зачем такое советуете?
|
|||
8
lodger
17.06.20
✎
18:51
|
(0) тут только техпод ЧЗ поможет. очередной глюк у них.
|
|||
9
spectre1978
17.06.20
✎
18:51
|
(7) сам сертификат без закрытого ключа - без проблем. Ничего страшного в этом нет.
|
|||
10
spectre1978
17.06.20
✎
18:52
|
(5) напишите в поддержку, возможно, у них ЛК сломался и надо чтобы сотрудник ручками прописал сертификат в систему.
|
|||
11
Гость из Мариуполя
гуру
17.06.20
✎
19:07
|
(5) в нормальных системах сертификат доносится автоматически , поскольку автоматически прицеплен к подписанному документу.
А это какая-то недоразвитая система, в которой сертификат нужно посылать отдельно или отдельно регистрировать в ЛК. К примеру, в налоговую или в ФСС я никакой сертификат специально отдельно никуда не отправляю. Подписываю отчетность или ЭЛН и фьють. И ведь как-то принимают :) Налоговая, значится, может из подписанного документа извлечь сертификат и проверить его, а честный знак, значится, не может. Пусть сходят в ИФНС на стажировку. (7) вован, ты не поверишь, но когда ты кому-то отсылаешь любой док, подписанный ЭЦП, тем самым ты отсылаешь свой сертификат. :) |
|||
12
vovastar
17.06.20
✎
19:16
|
(11) Да я это прекрасно знаю. Не до конца прочитал в суть отправки чего то там по электронке.
Просто не думаю, чтобы в ЧЗ операторы ручками сертификаты правили у себя. Если каждый им начнет так сертификаты отсылать чтобы они у себя в системе их регистрировали, то смысл этой всей автоматизации? |
|||
13
vovastar
17.06.20
✎
19:19
|
+(12) чем то напоминает в этом Сбербанк АСТ, там такая же муть.
|
|||
14
NorthWind
17.06.20
✎
19:29
|
(11) они все работают не напрямую, а через оператора, который, собственно, обычно и выписывает вам ЭЦП на год после оплаты Соответственно, сертификаты ваши у оператора есть еще до того как вы отправите первое письмо. И если вы без предупреждения подпишете отчет подписью, выданной другим УЦ и отправите доки в налоговую, скорее всего, оператор вам отпишет болт.
То же самое банк-клиент - ключи всегда выписываются запросом через банк, по-другому не предусмотрено. А операторы того же EDI и Честный знак требуют, чтобы перед началом обмена вы им показали сертификат. |
|||
15
NorthWind
17.06.20
✎
19:32
|
кстати, из всех этих богоугодных заведений только ФСС позволяет обмен напрямую и они да, удовлетворяются тем сертификатом, который в письме. Дополнительно им высылать не надо.
|
|||
16
vovastar
17.06.20
✎
19:33
|
(14) ну почему? Например, при входе в личный кабинет налогоплательщика я просто показываю свой сертификат. А например Сбербанк АСТ, требует помимо этого, хранения моего сертификата у себя на сервере.
|
|||
17
NorthWind
17.06.20
✎
19:34
|
(16) через ЛКН ЮЛ отчетность отправлять нельзя. Там документооборот не предусмотрен никакой. Максимум выписку можно запросить, по-моему, так.
|
|||
18
vovastar
17.06.20
✎
19:36
|
(17) ну если только так. То может они и правы.
|
|||
19
Гость из Мариуполя
гуру
17.06.20
✎
22:09
|
А что оператор? сертификат у оператора и сертификат в ИФНС - это совершенно разные места.
Оператор НЕ регистрирует наши сертификаты в налоговой и не исправляет нашу ЭЦП на свою. Налоговая получает отчеты, подписанные нашим ЭЦП, а не оператора. Равно как и мы получаем протокол, подписанный ЭЦП налоговой. А оператор всего лишь квитирует получение и отправку. Да, у оператора есть наши сертификаты изначально. А у налоговой - нет. А ФСС вообще может обходиться без оператора. Так что оператор - это всего лишь передаточное звено, но никак не регистратор наших сертификатов в налоговой. А то, что он якобы удостоверяет нашу личность - так в самом сертификате и указаны и корневые и промежуточные удостоверяющие центры сертификации. И помимо ФСС куча сервисов так же работает. Те же госуслуги. Никто что, не пользовался госуслугами под ЭЦП учреждения? Та же ГИС ГМП. Да и налоговая ведь выписку ЕГРЮЛ и прочий обмен через ЛК тоже делает без участия оператора, но с использованием ЭЦП. И, кстати, почему тут говорят только про выписку? А ККТ что, не через ЛК, в на бумажке в налоговую носите? |
|||
20
NorthWind
18.06.20
✎
07:36
|
(19) взаимоотношений оператора с ФНС я лично точно не знаю и поэтому не могу утверждать, передает он сертификаты или не передает. Для меня достаточно того что он обычно сам является УЦ и генерирует подписи, т.е. при необходимости у него есть не то что сертификаты, а даже и закрытые ключи.
Сервисов работает много, но мало кто таким образом занимается пакетным документооборотом. ФСС, кажется, единственный, у кого есть апи и кому можно скидывать отчеты и больничные в промышленных количествах. Разного рода личники - не совсем то. Регистрация ККТ - это разовая операция, не документооборот. А вот работа ККТ - пример как раз обратный. Мы обязательно предъявляем данные ККТ и данные ФН каждый год (или три). И дальше в процессе работы ничего менять не можем. Нельзя, например, свой ФН вставить в другую кассу взамен вышедшей из строя. Так что выходит, что в общем-то почти везде, где есть поток документов, есть предварительная загрузка своих идентификационных данных на ресурсы уполномоченных организаций. |
|||
21
Megas
18.06.20
✎
12:35
|
Решил.
То ли они проверку какую добавили, или переделали что то.Поменял параметры при подписи по последнему руководству и всё стало подписываться. |
|||
22
VitShvets
19.06.20
✎
11:38
|
(21) А не поделитесь куском кода или примером, как документы ЧЗ отправляете? Подключаюсь к ЧЗ используя CAdESCOM.*:
Токен = comSignedData.SignCades(comCPSigner, 1, Ложь, ); // comSignedData это CAdESCOM.CadesSignedData Токен получаю нормально, документы входящие забираю. А исходящие не создаются. Меня люто бомбит с поведения их системы - вызываю сервис, возвращается честный идентификатор нового документа, ошибок нет. Но и документа в ЛК тоже нет. Есть у меня подозрение, что это что-то из за подписи, как-то криво я её получаю... Конфа древняя КА. В поддержку ЧЗ написал, неделю назад, молчат как рыба об лёд. |
|||
23
VitShvets
19.06.20
✎
16:52
|
(22) Решил, спасибо cmex Использование API честный знак
|
|||
24
Megas
19.06.20
✎
16:54
|
(22)
ВашНовыйСгенерированныйТокен = ТекущийТоккен; DocumentType = "LP_SHIP_GOODS"; // LP_SHIP_RECEIPT //АдресHTTP = "/api/v3/lk/documents/create?pg=shoes"; АдресHTTP = "/api/v3/lk/documents/shipment/create"; // Получить случайные данные. Заголовки = Новый Соответствие; Заголовки.Вставить("Content-Type", "application/json"); Заголовки.Вставить("Authorization", "Bearer " + ВашНовыйСгенерированныйТокен); bDetached = Ложь; sThumbprint = "aa aa aa aa aa aa aa aa aa aa aa 64 ce aa 8c 72 2e fd d5 28"; // Тут хеш отпечаток от подписи, что б найти нужную СтрокаВБазе = УбратьСимволы1013(Base64Строка( ПолучитьДвоичныеДанныеИзСтроки(СтруктурированныйJSON))); //ПодписанныеДанные = ПодписатьТекст(СтруктурированныйJSON, sThumbprint, bDetached, 1); ПодписанныеДанные = ПодписатьТекст(СтрокаВБазе, sThumbprint, bDetached, 1); // обертка // ПакетДанных = Новый Соответствие; //ПакетДанных.Вставить("product_document", УбратьСимволы1013(Base64Строка( ПолучитьДвоичныеДанныеИзСтроки(СтруктурированныйJSON)))); ПакетДанных.Вставить("product_document", СтрокаВБазе); ПакетДанных.Вставить("document_format", "MANUAL"); ПакетДанных.Вставить("type", DocumentType); // ПакетДанных.Вставить("signature", ПодписатьЭЦПЧерезСОМОбъекты(СтруктурированныйJSON, Ложь, Истина)); ПакетДанных.Вставить("signature", ПодписанныеДанные); СтруктурированныйJSON = РаботаСФорматомJSON.ЗаписатьJSON(ПакетДанных); Соединение = Новый HTTPСоединение(Сервер, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL); Запрос = Новый HTTPЗапрос(АдресHTTP, Заголовки); Запрос.УстановитьТелоИзСтроки(СтруктурированныйJSON); Попытка Ответ = Соединение.ОтправитьДляОбработки(Запрос); ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); Исключение Сообщить(ОписаниеОшибки()); Соединение = Неопределено; Возврат ; КонецПопытки; Если Ответ.КодСостояния = 200 тогда РазборОтвета = РаботаСФорматомJSON.ПрочитатьJSON(ТекстОтвета); ПоказатьJSON(РазборОтвета) КонецЕсли; JsonText = ТекстОтвета; Сообщить( ТекстОтвета ); // sThumbprint - отпечаток сертификата, используемого для подписи; строка, // представляющая отпечаток в шестнадцатеричном виде // пример 195934d72dcdf69149901d6632aca4562d8806d8 // ТекстДляПодписи должен быть в Base64 // bDetached - Истина/Ложь - откреплённая(для подписаниядокументов)/прикреплённая(для получения токена авторизации) подпись Функция ПодписатьТекст(ТекстДляПодписи, sThumbprint, bDetached, CADESCOM_BASE64_TO_BINARY = 0 ) // CADESCOM_BASE64_TO_BINARY = 0; // Входные данные пришли в Base64 CADESCOM_CADES_TYPE = 1; // Тип усовершенствованной подписи CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0; // Атрибут штампа времени подписи oSigner = Новый COMОбъект("CAdESCOM.CPSigner"); // Объект, задающий параметры создания и содержащий информацию об усовершенствованной подписи. oSigner.Certificate = ПолучитьСертификатПоОтпечатку(sThumbprint); oSigningTimeAttr = Новый COMОбъект("CAdESCOM.CPAttribute"); oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME; oSigningTimeAttr.Value = ТекущаяДата(); oSigner.AuthenticatedAttributes2.Add(oSigningTimeAttr); ТекстДляПодписи = СокрЛП(ТекстДляПодписи); oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData"); // Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью. oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY; oSignedData.Content = СокрЛП(ТекстДляПодписи); EncodingType = 0; sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType); // Метод добавляет к сообщению усовершенствованную подпись. Возврат sSignedMessage; // Подпись в формате Base64 КонецФункции //Отпечаток - строка HEX Функция ПолучитьСертификатПоОтпечатку(ОтпечатокСтр) Рез = Неопределено; // Найденный сертификат (Com-объект) CAPICOM_CURRENT_USER_STORE = 2; //2 - Искать сертификат в ветке "Личное" хранилища. CAPICOM_MY_STORE = "My"; // Указываем, что ветку "Личное" берем из хранилища текущего пользователя CAPICOM_STORE_OPEN_READ_ONLY = 0; // Открыть хранилище только на чтение oStore = Новый COMОбъект("CAdESCOM.Store"); // Объект описывает хранилище сертификатов 182 oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_READ_ONLY); // Открыть хранилище сертификатов // 1 вариант: поиск сертификата по отпечатку CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0; Certificates = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, ОтпечатокСтр); Рез = Certificates.Item(1); //2 вариант: обходом по коллекции и сравнение с отпечатком //Для Каждого ТекСертификат Из oStore.Certificates Цикл //ТекОтпечаток = ТекСертификат.Thumbprint; // возвращается отпечаток вшестнадцатеричном виде //Если ВРЕГ(ТекОтпечаток) = ВРЕГ(ОтпечатокСтр) Тогда //Рез = ТекСертификат; //Прервать; //КонецЕсли; //КонецЦикла; oStore.Close(); // Закрыть хранилище сертификатов и освободить объект 61 Возврат Рез; КонецФункции Надеюсь помог |
|||
25
Megas
19.06.20
✎
16:57
|
(23) У меня к тому же 82 поэтому функции Base64Строка( ПолучитьДвоичныеДанныеИзСтроки()) - самописные - в 83 это проще =)
и Функция УбратьСимволы1013(Строка) Экспорт Возврат СтрЗаменить(СтрЗаменить(Строка, Символы.ПС, ""), Символы.ВК, ""); // Ещё бывают символы "77u/", при необходимости удалять и их. КонецФункции |
|||
26
marty0701
19.06.20
✎
18:08
|
Можно чуть подробнее, где именно надо обновить сведения о сертификате, у нас закончился 18 числа, сегодня ловим какие-то ошибки невнятные при передаче данных в ЧЗ. УТ 11.4, на старой подписи всё работало, новую установили, 1с ее видит, проверку проходит, но оформить приемку товаров, например, не удаётся.
|
|||
27
Jonny992
05.08.20
✎
15:51
|
(26) Марти, напиши свой тг пожалуйста, есть пару вопрос,если нетрудно !
|
|||
28
Megas
06.08.20
✎
13:46
|
(26) В общем нечего не надо обновлять.
Вы что то делаете не так, как я понял ЧЗ ужесточил проверку подписанных документов. |
|||
29
Krio77
16.10.20
✎
16:06
|
(21) Подскажите в чем проблема то была?
столкнулся с точно такой же ситуацией поменяли ЭЦП и ошибка не пройдена проверка подписи. при чем обработка выгрузки документов в ЧЗ по API одна для 9 ИП на восьми работает все ок, а на одном ИП с новой ЭЦП нет. |
|||
30
Garykom
гуру
16.10.20
✎
16:15
|
(29) а вы новую ЭП в ЛК ЧЗ добавили?
|
|||
31
Krio77
16.10.20
✎
16:18
|
(30) эм )) а как ? у меня ИП, редактировать единственного пользователя не дает, и нового не дает добавить пишет для ИП недоступно добавление пользователей
|
|||
32
Krio77
16.10.20
✎
16:20
|
(31) тем более на прошлой неделе меняли тоже ЭЦП у трех ИП они работают все ок, не было такой проблемы, правда у них другой центр сертификации для ЭЦП
|
|||
33
Garykom
гуру
16.10.20
✎
16:21
|
(31) замену/восстановление можно делать старый сертификат подсовываешь и новый
|
|||
34
Garykom
гуру
16.10.20
✎
16:21
|
(33)+ Хотя если в ЛК заходит с этой ЭП то трабла в чем то ином
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |