|
v7: CAdESCOM: Поле агрегатного объекта не обнаружено (SignCades) | ☑ | ||
---|---|---|---|---|
0
Caesar
29.10.21
✎
09:57
|
Пишу обмен для нетленки на 1С 77 с ЧестнЫм Знаком
При попытке подписания токена получаю сообщение: sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType); {E:\BASES\V7\ОБМЕН_С_ЧЕСТНЫЙЗНАК.ERT(134)}: Поле агрегатного объекта не обнаружено (SignCades) Текст функции подписания - // bDetached - Истина/Ложь - откреплённая(для подписания документов)/прикреплённая(для получения токена авторизации) подпись Функция ПодписатьТекст(ТекстДляПодписи, СертификатДляПодписи, bDetached) //ТекстДляПодписи - токен в формате Base64 //СертификатДляПодписи - сертификат, полученный по отпечатку CADESCOM_BASE64_TO_BINARY = 1// Входные данные пришли в Base64 CADESCOM_CADES_TYPE = 1// Тип усовершенствованной подписи CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0// Атрибут штампа времени подписи oSigner = СоздатьОбъект("CAdESCOM.CPSigner"); // Объект, задающий параметры создания и содержащий информацию об усовершенствованной подписи. oSigner.Certificate = СертификатДляПодписи; //oSigner.KeyPin = "12345678";//пароль, с которым сертификат установлен на сервер. если пароля нет - комментируем строку oSigningTimeAttr = СоздатьОбъект("CAdESCOM.CPAttribute"); oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME; oSigningTimeAttr.Value = ТекущаяДата(); oSigner.AuthenticatedAttributes2.Add(oSigningTimeAttr); ТекстДляПодписи = СокрЛП(ТекстДляПодписи); oSignedData = СоздатьОбъект("CAdESCOM.CadesSignedData"); // Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью. oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY; oSignedData.Content = СокрЛП(ТекстДляПодписи); EncodingType = 0; sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType); // ВОТ ТУТ ОШИБКА // Метод добавляет к сообщению усовершенствованную подпись. Возврат sSignedMessage// Подпись в формате Base64 КонецФункции Цепочка сертификатов до доверенного КЦ выстроена. ОС - Windows 10 x64 КриптоПро 5 установлен Очень прошу помочь. Заранее благодарен. |
|||
1
Mafiozaa
29.10.21
✎
10:37
|
Не знаю почему, но через CADESCOM не работало, заработало через CAPICOM
|
|||
2
Caesar
29.10.21
✎
13:18
|
Вообще удивительно, этот же кусок кода, портированный на v8, отработал нормально. С семеркой - затык. Какие-то атрибуты доступны, какие-то нет.
Попробую CAPICOM, спасибо. |
|||
3
Garykom
гуру
29.10.21
✎
14:28
|
||||
4
lodger
29.10.21
✎
16:21
|
(3) так это ж надо иметь учётку в криптопро.
|
|||
5
Garykom
гуру
29.10.21
✎
16:37
|
(4) дык чтобы скачать ну да зарегайся
|
|||
6
Go1den
21.12.21
✎
17:23
|
Замени CAdESCOM.CadesSignedData на CAdESCOM.SignedXML
|
|||
7
Kigo_Kigo
21.12.21
✎
18:14
|
Да было не раз такое, с восьмерки отрабатывает через созданную компоненту, с 7-ки нет, походу технологии регистрации и вызова разные
Я как то с длл-кой для весов с разрабом бодался, в восьмерке работает и принимает вес, в семерке создается компонента но не отрабатывает, потом он что то намутил и стала работать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |