Механизмы взаимодействия КриптоПро и 1С:Предприятие
- 2013-01-10
- Автор: admin
- Рубрика: 1C:Предприятие, Криптография
Внимание! Приведенная информация распространяется исключительно в ознакомительных целях. Перед использованием данных материалов рекомендуется ознакомиться с ФЗ Российской Федерации от 4 мая 2011 г. N 99-ФЗ "О лицензировании отдельных видов деятельности".
1С:Предприятие не может напрямую использовать некоторые классы .NET Framework в силу ограниченных возможностей встроенного языка программирования. К сожалению, к таковым относятся и классы x509, обеспечивающие связь с криптопровайдерами, установленными в операционной системы. Есть исключения: некоторые классы .NET поддерживают оращение к своим методам по принципу COM, например методы для работы с RSA и функциями хеширования.
При этом из 1С: Предприятие можно подключить любой COM-объект и работать его методами.
Таким образом, связующим звеном криптопровайдеров, установленных в ОС(например КриптоПро) и 1С:Предприятие может выступать COM-объект, написанный на любом языке и внутри которого будут реализованы функции обращения к нужным классам – в нашем случае x509 .NET, например библиотека CAPICOM, в которой реализованы необходимые COM-объекты и с необходимым функционалом. К сожалению CAPICOM снят с поддержки, но тем не менее есть возможность установить его даже на Windows 7, хотя и не без танцев с бубном: внизу этой странички есть ссылка на скачивание библиотеки с мануалом по установке. На Windows XP библиотека устанавливается элементарно — регистрацией dll(с помощью regsvr32.exe).
На платформе 1С:Предприятие версии 8.2 появился объект "МенеджерКриптографии", содержащий необходимый набор функций для работы с криптопровайдерами, зарегистрированными в системе. Ниже перечислен список свойств и методов объекта, подробную информацию по которым Вы сможете получить в синтаксис-помощнике.
МК = новый МенеджерКриптографии; МК.АлгоритмПодписи МК.АлгоритмХеширования МК.АлгоритмШифрования МК.ВключениеСертификатовВПодпись МК.Зашифровать() МК.ПарольДоступаКЗакрытомуКлючу МК.Подписать() МК.ПолучитьИнформациюМодуляКриптографии() МК.ПолучитьСертификатыИзПодписи() МК.ПолучитьХранилищеСертификатов() МК.ПроверитьПодпись() МК.ПроверитьСертификат() МК.Расшифровать()
Объект работает как с файлами, так и с двоичными данными. В случае с файлами все понятно, а для шифрования, подписывания и хеширования строк требуется предварительное преобразование последних в двоичные данные. Для получения двоичных данных следует использовать функции, со странички Пример ассиметричного шифрования(RSA) 1С:Предприятие 8.
Внимание! Приведенная информация распространяется исключительно в ознакомительных целях. Перед использованием данных материалов рекомендуется ознакомиться с ФЗ Российской Федерации от 4 мая 2011 г. N 99-ФЗ "О лицензировании отдельных видов деятельности".