Версия для печати темы (https://pro1c.org.ua/index.php?s=a71f570b4acd0350bb75f0575a8d1238&showtopic=61866)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Получить атрибуты файла (нетиповые)

Автор: Inkognito 28.09.20, 12:02

Обычные формы, УТП. Есть ключи ЭЦП (АЦСК Украина) в виде файов (*.cer) Их много в каталогах и подкаталогах на диске по разным предприятиям.
Бухгалтер хочет оперативно видеть, какие ключи заканчиваются. С визуалкой и оповещеним проблем нет.
Вопрос: как получить свойства файлов сертификатов (желательно все списком, потом разберемся)?

Автор: 29a 28.09.20, 15:10

Inkognito @ Сегодня, 13:02 * ,
Как вариант, если сертификаты установлены и видны в certmgr.msc (можно установить через контекстное меню сертификата), то с помощью PowerShell командой Get-ChildItem -Path cert: -Recurse -ExpiringInDays 365 можно получить сертификаты дата которых заканчивается через определенное количество дней (в данном случае 365) перебрать строки, по имени сертификационного центра отобрать нужные.


Автор: Petre 28.09.20, 15:48

Inkognito @ Today, 12:02 * ,
Это не атрибуты файла, а данные сертификата формата x.509.
По сути, необходимо прочитать содержимое файла сертификата и разложить из нотации ASN.1 в понятную информацию.

Автор: Inkognito 07.09.21, 12:57

Решение:

ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогФайла.Фильтр = НСтр("ru='Файл сертификата ЭЦП(*.cer)|*.cer|Файл сертификата ЭЦП(*.crt)|*.crt';uk='Файл сертифікату ЕЦП(*.cer)|*.cer|Файл сертифікату ЕЦП(*.crt)|*.crt'");
    ДиалогФайла.МножественныйВыбор = Ложь;
    
    Если ДиалогФайла.Выбрать() Тогда    
        ФайлДД = Новый ДвоичныеДанные(ДиалогФайла.ПолноеИмяФайла);
        
        Сертификат = Новый СертификатКриптографии(ФайлДД);
...
КонецЕсли;

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua