Имя: Пароль:
1C
1С v8
Проверка откреплённой ЭЦП и получение атрибутов подписи, неполучается с "старыми" файлами
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;
Независимо от того, куда вы едете — это в гору и против ветра!