Работа с форматом ASN1 в 1С8
Формат ASN.1 (Abstract Syntax Notation — язык для описания абстрактного синтаксиса данных) до сих пор используется, хоть и придуман был в 1984 году. Это байт-ориентированный формат, позволяющий в двоичном виде сохранить структурированные данные. Формат открытый.
Сертификаты криптографии, ЭЦП, подписанные ЭЦП файлы записываются в формате ASN.1.
Работать в 1С8 с бинарными файлами на низком уровне проблематично. Например, если загрузить файл в строку, то некоторые байты не буду читаться (символ с кодом 0 – обрезает строку), некоторые символы не выводятся. Но есть возможность любой бинарный файл прочитать в кодировке BASE64, далее из BASE64 можно получить массив байт (число от 0 до 255). С таким массивом уже можно работать дальше. Биты каждого байта можно получить математическими операциями. Естественно, это не оптимальный по скорости метод, но позволяет избежать запуск внешних компонент.
Особенности криптографии в 1С8
В 1С8 включен блок криптографии. Определены следующие объекты: Сертификат криптографии, Криптографический провайдер (Менеджер криптографии). Определены операции получения ЭЦП (подписывание данных), проверки ЭЦП, шифрования, расшифрования и т.д.
Есть 2 варианта операции подписи данных:
- ЭЦП добавляется в исходный файл (чтобы потом работать с таким файлом, нужно извлечь из него ЭЦП),
- ЭЦП создается в отдельном файле.
В 1С8 операция подписывания данных (метод Подписать у менеджера криптографии) создает отдельный файл или возвращает двоичные данные с ЭЦП (2 вариант). Многие крипто-программы работают только по 1 варианту (если не большинство).
Включение ЭЦП в исходный файл — нетривиальная задача для 1С, простая конкатенация не подойдет. Упрощенно: подписанный файл создается в формате ASN.1 на основании файла ЭЦП с 3 вложенными структурами, в последней из которых добавляется байтовый массив исходных данных.
На практике получилось создать функцию на 1С8.2, которая получает ЭЦП через Менеджер криптографии 1С и полученную ЭЦП включает в исходные данные. Никакие внешние компоненты не использовались, только функции 1С. Результат был проверен несколькими программами, например КриптоАРМ (использовался КриптоПро CSP).
Предложение
Предлагается внешняя обработка для просмотра данных в формате ASN1 (никакой криптографии и шифрования в обработке не используется, просто программа «парсер»). В программе есть функция поиска сертификатов. Все найденные в исходном файле сертификаты и цепочки сертификатов выводятся в окно сообщений 1C (программа умеет преобразовывать строки UniCode, даты действия сертификата в формате GMT, OID’ы в полях Субъект и Издатель). Найденные сертификаты программа сохранит в каталоге исходного файла. В дополнении к этому продукту предлагается методическая помощь по вопросам, связанным с технической реализацией криптографии и шифрования в 1С (отдельный продукт, называется "Тех. поддержка в течение 1 месяца"). Также есть собственные разработки для работы в PKI.
Дополнительная информация
Код обработки полностью открыт, возможна доработка собственными силами после покупки. Обновления программы не требуется. Работа обработки не зависит от установленных криптопровайдеров.
Техподдержка по работе обработки "Парсер ASN1" в течение 1 месяца с даты покупки включена в стоимость продукта.
Лицензирование программы не требуется, ограничений по количеству рабочих мест, компьютеров нет.
Гарантия возврата денег
ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.