Проект

Общее

Профиль

Разработка #6595

открыто

EisCom.dll для ЕИС 1С 8

Разработка #6595: EisCom.dll для ЕИС 1С 8

Добавил(а) кб99 Филипп 12 месяца назад. Обновлено 18 дня назад.

Статус:
В работе
Приоритет:
Нормальный
Назначена:
-
Версия:
Дата начала:
Срок завершения:
Готовность:

0%

Оценка временных затрат:

Обновлено кб99 Филипп 12 месяца назад Действия #1

Обновлена компонента EisCOM.dll версия 1.1

Добавлена возможность загрузки файлов частями в ЕИС до 50 МБ.
При запуске проверяется наличие обязательных параметров.
Обязательные параметры для инициализации:
  • Token
  • ClientCertificateThumbprint
  • LogsDir

Оптимизированы функции.
Добавлена логирование всех событий DLL с помощью Nlog.
При загрузке DLL можно использовать конфигурацию Nlog, которая должна находиться в каталоге с DLL.
Если конфигурация не найдена, события DLL записываются в файл eisv7.log в каталоге с DLL.

NLog.config

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      autoReload="true" 
      throwExceptions="false">
    <targets>
        <!-- Логи пишутся в файл, ротация по размеру -->
        <target name="logfile" xsi:type="File" 
                fileName="C:\1C\eis\logs\eisCom.log" 
                layout="${longdate}|${level:uppercase=true}|${logger}|${message}${exception:format=toString}" 
                archiveFileName="C:\1C\06_06_22\eis\logs\eisCom.{#}.log" 
                archiveNumbering="Rolling" 
                maxArchiveFiles="7" 
                archiveAboveSize="1048576"/>
        <target name="logconsole" xsi:type="Console" layout="${longdate}|${level:uppercase=true}|${message}"/>
    </targets>
    <rules>
        <logger name="*" minlevel="Debug" writeTo="logfile" />
    </rules>
</nlog>

NLog.config обязательно указывать полный путь к каталогу лог файла.

Обновлено кб99 Филипп 18 дня назад Действия #2

  • Параметр Статус изменился с Новая на В работе

[Релиз] eisCOM.dll версия 1.4

Исправленная ошибка

В HTTPS-коде явно выставлялись `Ssl3` и устаревшие протоколы, использование `TLS 1.2` не гарантировалось. Это приводило к ошибке «Не удалось создать защищённый канал SSL/TLS» при отправке файлов на сервер ЕИС.

Что изменено

  • Добавлен метод `ConfigureSecurityProtocols()` — при отправке файла теперь явно включаются `TLS 1.0 / 1.1 / 1.2 / 1.3`.
  • В объект `Options` добавлен реквизит `BaseDirectoryDll` — каталог регистрации Dll.

Почему это важно

Ошибка «Не удалось создать защищённый канал SSL/TLS» возникает при несовпадении протоколов между клиентом и сервером. Ранее для метода `FileNew` не было гарантии использования `TLS 1.2+`, что критично для современных endpoint'ов ЕИС. Обновление устраняет эту причину.

[Релиз] eisCOM.dll версия 1.5

Добавлена функция проверки и верификации ЭЦП непосредственно из COM-интерфейса — без необходимости открывать certmgr.msc или запускать сторонние утилиты.

Изменения в интерфейсе

В IEisCom добавлен новый метод (DispId 12):

FileStatus CheckCertificate(string thumbprint);
FileStatus CheckCurrentCertificate();

Что делает метод

  • Ищет сертификат в хранилище CurrentUser\My по thumbprint.
  • Проверяет, что сертификат найден и единственный.
  • Собирает данные: Subject, Thumbprint, HasPrivateKey, NotBefore, NotAfter, EKU.
  • Строит цепочку доверия с онлайн-проверкой отзыва (CRL/OCSP) через X509Chain.
  • Возвращает FileStatus: ** Status = "SUCCESS" — цепочка валидна; ** Status = "ERROR" — есть проблемы; подробная диагностика, включая ошибки цепочки, в поле Description.

Зависимости

Добавлен using System.Security.Cryptography для Oid.

Для чего это нужно

Позволяет прямо из 1С проверить актуальность ЭЦП перед отправкой документа в ЕИС:

  • срок действия;
  • наличие закрытого ключа;
  • корректность цепочки;
  • статус отзыва.

Экспортировать в PDF Atom