Криптография: внешняя компонента для 1С 7.7

08.06.20

Разработка - Разработка внешних компонент

Цифровые подписи, шифрование, просмотр сертификатов ключей ЭЦП, работа с различными криптопровайдерами (в т.ч. КриптоПРО ГОСТ 2012) в 1С 7.7.

Скачать исходный код

Наименование Файл Версия Размер
Компонента, описание, демо - конфигурация
.zip 291,36Kb
24
.zip 291,36Kb 24 Скачать
Исходники
.zip 36,50Kb
4
.zip 36,50Kb 4 Скачать

Функционал компоненты во многом аналогичен функционалу 1С 8.3 из раздела «Криптография».

Компонента разработана по технологии создания внешних компонент COM в среде Lazarus. Тестировалась на платформе 1С релиза 7.70.027 под управлением Windows 10 (64 bit) и Windows Server 2003 (32 bit).

Функционал компоненты:

Методы объекта «AddIn. Crypto»:

Хранилище( ) – возвращает число, количество системных хранилищ в хранилище сертификатов пользователя ОС.

Хранилище(<Индекс>) – возвращает строку, наименование системного хранилища сертификатов.

Провайдер( ) – возвращает число, количество установленных в системе провайдеров криптографии.

Провайдер(<Индекс>, <Тип> ) – возвращает строку, наименование провайдера криптографии, а также его тип.

ВыбратьПровайдера(<ИмяПровайдера>, <Тип>) – выбирает и устанавливает провайдера по умолчанию для  дальнейшего использования его алгоритмов криптографии в методах цифровой подписи и шифрования.

Сертификат(<Хранилище> ) – возвращает количество сертификатов в хранилище.

Сертификат(<Хранилище>, <ИД> ) – возвращает объект - сертификат из указанного хранилища.

СертификатИзФайла(<ИмяФайла> ) – возвращает количество сертификатов в файле.

СертификатИзФайла(<ИмяФайла>, < ИД > ) – возвращает объект - сертификат из файла.

Подписать (<ИсходныеДанные>, <ВыходныеДанные>, <Сертификат>, <Включить>) – формирует цифровую подпись.

ПроверитьПодпись(<ИсходныеДанные>, <ВыходныеДанные>, <Сертификат>)– проверяет цифровую подпись и возвращает сертификат.

Зашифровать(<ИсходныеДанные>, <ВыходныеДанные>, <Получатели>) – шифрует исходные данные для списка получателей.

Расшифровать(<ИсходныеДанные>, <ВыходныеДанные>) – расшифровывает исходные данные.

Свойства объекта «AddIn. Crypto» (все только для чтения):

ИмяПровайдера – строка, наименование провайдера, установленного по умолчанию.

ТипПровайдера – число, тип провайдера, установленного по умолчанию.

АлгоритмПодписи, АлгоритмХеширования, АлгоритмШифрования – строки, соответствующий алгоритм провайдера, установленного по умолчанию.

Ошибка– строка, последняя ошибка.

Методы объекта «Сертификат»:

ОткрытьСертификат ( ) – открывает системную экранную форму сертификата.

Свойства объекта «Сертификат» (все только для чтения):

Версия – строка, версия стандарта сертификата.

НачДата – строка, дата и время начала действия

КонДата– строка, дата и время окончания действия

Издатель– строка, наименование издателя сертификата.

Отпечаток– строка, хеш сертификата, его уникальный идентификатор.

СерийныйНомер– строка, серийный номер сертификата.

ЕстьКлюч– число, 1 – есть закрытый ключ, 0 – нет закрытого ключа в сертификате.

Провайдер– строка, наименование провайдера, связанного с сертификатом.

Субъект– строка, субъект сертификата.

СубъектПодробно– строка, дополнительные  стандартные и нестандартные реквизиты субъекта одной строкой.

Ошибка– строка, последняя ошибка.

ЭЦП криптография внешняя компонента COM 1с7.7

См. также

HTTP сервер, HTTP асинхронный клиент, клиент ГИС МТ "Честный знак": внешние компоненты для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно сначала послать несколько запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

2000 руб.

27.05.2022    7932    19    13    

31

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4837    1    0    

3

Как уберечь конструкторскую документацию от воровства конкурентами?

Защита ПО и шифрование Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Как уберечь конструкторскую документацию от воровства конкурентами? Недавно столкнулся с этой проблемой. Заказчик серьёзно обеспокоен утечкой информации о конструкторских разработках в адрес конкурентов, за счет подкупа исполнителей, занимающихся производством по конструкторской документации, операторов технологического оборудования и обрабатывающих центров по изготовлению деталей и сборочных единиц.

2 стартмани

09.03.2022    5722    3    ge_ni    9    

2

Выбор из большого списка (для 1С 7.7)

Разработка внешних компонент Платформа 1С v7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

1200 руб.

02.12.2021    5848    2    19    

4

Форма для ввода количества товаров

Разработка внешних компонент Оптовая торговля Платформа 1С v7.7 Конфигурации 1cv7 Управленческий учет Платные (руб)

Расширяем уровень взаимодействия c пользователем с помощью новых возможностей - форма для ввода количества для перемещений и форма ввода количества с упаковками и штуками.

1200 руб.

08.09.2021    7424    0    2    

1

Внешняя компонента для преобразования файлов из/в кодировку Base64 в 1С 7.7

Разработка внешних компонент Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Эта внешняя компонента Base64.dll предназначена для платформы 1С версии 7.7. Используется для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие. Компонента тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

10 стартмани

06.04.2021    9510    14    softmaker    12    

5

Протокол UDP: внешняя компонента для 1С 7.7

Разработка внешних компонент Платформа 1С v7.7 Абонемент ($m)

Обмен сообщениями и небольшими файлами по протоколу UDP с 1С и внешними приложениями в локальной сети или сети VPN.

1 стартмани

23.05.2020    7348    5    mdbruyfn    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. M_W_W 30 09.06.20 08:53 Сейчас в теме
Ну, то, что она умеет с КриптоПро работать - это хорошо, но не ново... В принципе, в семерке можно прекрасно работать с ним и через КапиКом или КадесКом...
А вот умеет ли она работать с аппаратными криптопровайдерами, которые "на борту" токена? Например, ЕГАИСовский ключ Рутокен ЭЦП 2.0 или ДжаКарта - ?
2. mdbruyfn 61 10.06.20 11:28 Сейчас в теме
(1) Если 1С 8.3 под Windows с ними работает, то я думаю и эта компонента также сможет работать, т.к. она использует API Windows.
3. M_W_W 30 10.06.20 15:04 Сейчас в теме
Не... Чуда не произошло. Ключи в РуТокен не извлекаемые, а с внутренним криптопровайдером, который "на борту", похоже не хочет работать.

PS Чего-то я где-то читал, что если КриптоПро 5 поставить, то он умеет с РуТокен и его внутренним криптопровайдером работать. Но, тогда и камиком/кадеском должны тоже заработать.
Прикрепленные файлы:
4. mdbruyfn 61 11.06.20 11:52 Сейчас в теме
(3)Судя по сообщению, сертификат, видимо извлеченный с РуТокена и находящийся в системном хранилище, не имеет секретного ключа. Насколько мне известно, 1С 8.3 тоже работает только с сертификатами в системном хранилище. Windows API в принципе может работать и с аппаратными криптопровайдерами, если они реализуют соответствующие интерфейсы. С РуТокенами я не экспериментировал.
5. M_W_W 30 11.06.20 16:36 Сейчас в теме
Да, все именно так. Сертификат я добавил в системное хранилище "от безысходности", это уже "пляски с бубном". Потому, как, на самом РуТокене он просто не видится. Естественно, в хранилище он добавился без ключей, так, как ключи "неизвлекаемые"... В чем, собственно и проблема. Внутренний криптопровайдер работает с ними не извлекая их "наружу". А вот как заставить его работать из программы - х.з.... Есть конечно описание API РуТокена, но мне опыта не хватает разобраться...
Прикрепленные файлы:
6. bigmal 39 03.09.22 08:16 Сейчас в теме
Добрый день. А есть ли возможность добавить в процедуру подписания установку формата выходных данных? То есть как в методе Sign объекта CAPICOM.SignedData? Чтобы на выходе получать данные в кодировке Base64. Или я просто не разобрался в работе вашей компоненты?
7. mdbruyfn 61 19.09.22 16:07 Сейчас в теме
(6)Можно, конечно, добавить функцию перевода подписанных данных в формат Base64 и обратно. Только хотелось бы знать, в каких случаях это нужно?
8. bigmal 39 21.09.22 06:57 Сейчас в теме
(7) Это нужно при подписывании данных для обмена с Честным знаком, необходимо получить открепленную подпись в формате Base64. То есть - в случае использования метода Sign, это третий его параметр - EncodingType.
9. M_W_W 30 07.11.22 22:45 Сейчас в теме
Добрый!
Присоединяюсь к вопросу (6).
Да, в (7) подробно описано, зачем это нужно. в ЧЗ действительно такие требования.
Что-то я сегодня день помучился с CAPICOM/CADESCOM, и так и не получилось получить открепленную ЭЦП в формате Base64... Точнее, я ее получаю, но она выдает ошибку при проверке. И с помощью КриптоАРМ, и на сайте crypto.kontur.ru... Скорее всего что-то с форматом не то...
КриптоАРМ пишет, что проверяемый файл не содержит ЭЦП, а контур говорит, что ЭЦП не соответствует файлу или он изменен.
До этого, подписи в составе документа(не открепленные), и без заморочек с кодировкой - работали нормально.
10. mdbruyfn 61 16.11.22 08:30 Сейчас в теме
(9)Мне для тестирования нужны два образца ЭЦП одних и тех же данных, которые успешно приняты "Честным знаком", в формате Base64 и в бинарном формате. Или может быть есть какой-то тестовый сайт? Есть нюансы в кодировании формата Base64. Хотелось бы с минимальным количеством попыток сделать нужный вариант.
Оставьте свое сообщение