0
Megas
04.10.21
✎
14:25
|
Код работает НО, с ньюанасми.
Если "Корневой сертификат" не в доверенных - то выпадает ошибка - но это не самое страшно, можно и добавить, в основном он МинКомСвязи
А вот если Сертификат которым подписывали на сегодняшний день истёк, то получаю ошибку:
"Истек/не наступил срок действия требуемого сертификата при проверке по системным часам или по отметке времени в подписанном файле."
- и получется что я немогу проверить старые файлы и получить их атрибуты.
Можно это как то обойти? или возможно есть другой способ проверки Подписи и получения атрибутов подписи?
Мой код:
ЧтениеТекстаПодписи = Новый ЧтениеТекста( ФайлПодписи.ПолноеИмя); // как текст //
ТекстПодписи = ЧтениеТекстаПодписи.Прочитать();
ДанныеИсходногоФайла = Base64Строка(Новый ДвоичныеДанные(ФайлИсходный.ПолноеИмя)); // как Base64 //
ДанныеПодписи = ТекстПодписи;
CADESCOM_BASE64_TO_BINARY = 1;
SignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
SignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
SignedData.Content = ДанныеИсходногоФайла;
Попытка
SignedData.VerifyCades(ДанныеПодписи, 1 , true); // Если сверка не успешна то будет ошибка //
Исключение
Сообщить(ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
// Данные подписи
Certificates = SignedData.Certificates;
|
|