|
|
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-ки нет, походу технологии регистрации и вызова разные
Я как то с длл-кой для весов с разрабом бодался, в восьмерке работает и принимает вес, в семерке создается компонента но не отрабатывает, потом он что то намутил и стала работать
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший