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

08.06.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Компонента, описание, демо - конфигурация
.zip 291,36Kb
24
24 Скачать (1 SM) Купить за 1 850 руб.
Исходники
.zip 36,50Kb
4
4 Скачать (10 SM) Купить за 4 550 руб.

Функционал компоненты во многом аналогичен функционалу 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

См. также

Разработка внешних компонент 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    8781    23    17    

34

Разработка внешних компонент Системный администратор Программист Платформа 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    5235    1    0    

3

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

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

2 стартмани

09.03.2022    6109    3    ge_ni    9    

2

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

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

1200 руб.

02.12.2021    6210    2    19    

4

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

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

1200 руб.

08.09.2021    7573    0    2    

1

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

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

10 стартмани

06.04.2021    9952    14    softmaker    13    

5

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

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

1 стартмани

23.05.2020    7562    7    mdbruyfn    0    

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

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