001. Криптография и цифровая подпись RSA-sha256 на платформе 1С

Публикация № 896874

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

Цифровая подпись в 1с шифрование RSA sha256 внешняя компонента

11
Внешняя компонента, исходники, обработка для 1С.

Эта статья описывает готовое решение для выполнения задач по формированию цифровых подписей, проверке подписей, а так же шифрованию и дешифрованию данных.

Обмен с онлайн кассами, биткоины – часто встречающиеся в моей практике темы для разработки, в которых используется шифрование передаваемых данных. В моем случае, под шифрованием я подразумеваю в т.ч. формирование электронной цифровой подписи с последующей валидацией.

 
 Юридическая информация

Когда мне была поставлена задача реализовать подписание ЭЦП по алгоритму SHA256-rca паддинг pkcs1 с ключами 2048 я решил, что сделаю все в 3 строки кода:

Хэш=Новый ХешированиеДанных(ХешФункция.SHA256);
Хэш.Добавить("Тра ля ля");
Сообщить(Хэш.ХешСумма);

Как выяснилось почти сразу, кроме этих магический строк в платформу встроены еще пара других алгоритмов получения хэшей и все.

Но где же RSA? А ключи? Короче ждал меня облом.

Можно задействовать внешний криптопровайдер, но это стоит денег, да и сервер на котором все должно работать находится в Америке и там же админится, дадут ли устанавливать лишний софт – большой вопрос.

Поиски в интернете готового решения не дали, пришлось садиться в студию и кодить компоненту net.

Для запуска компоненты используется C++ компонента NETLoader, скачанная с инфостарта.

В архивах к публикации можно найти демо-обработку, реализующую логику шифрования/дешифрования, создания и проверки цифровой подписи, и компоненты отдельно.

Все процедуры выполняются в один поток и на больших данных могут подвисать. Но на практике мне такое не встретилось.

В этом видео показано как все работает:

Для тестирования методов компоненты (без учета особенностей работы платформы 1с) реализовано Windows приложение (см в архиве WindowsFormsTest1.exe). Компонента адаптирована для работы как с платформой 1с, так и как самостоятельного решения для использования в других задачах. Требования – net.3.5. Тестирование производилось на платформе 8.3.12 на управляемом интерфейсе в контексте сервера. Компонента реализует:
подписание по алгоритму SHA-256 с шифрованием хеша подписи по алгоритму RCA PKCS1 при помощи, ключей размером 2048
проверку (валидацию) подписи
шифрование и дешифровку данных по алгоритму
RSA PKCS1 про помощи ключей, размером 2048
В 1с компоненту можно задействовать при помощи служебной компоненты netloader.dll (встроена в фреймворк).
 
 Описание методов компоненты CoderEncoder.dll

Создание ключей шифрования
Назначение: создает новые ключи шифрования
Имя метода: GetKeysInXML(string randomstring)
Параметры: randomstring (произвольная строка, обязательный параметр) – не используется, остался в наследие от первой версии компоненты.
Возвращаемое значение: Истина или Ложь.
Приватный и публичный ключ можно получить, обратившись к свойствам компоненты publicKey и privateKey
Значения ключей представлены в формате XML, поля которого содержат двоичные данные в формате base64

Формирование цифровой подписи
Назначение: формирует цифровую подпись переданных данных
Имя метода: SignData(string DataToSign, string privateKey)
Параметры: DataToSign (строка) – данные, которые необходимо подписать; privateKey (строка) – приватный ключ в формате XML.
Возвращаемое значение: Истина или Ложь
Значение подписи можно получить, обратившись к свойству компоненты Base64SignedHash
Значение – это двоичные данные в формате base64

Проверка цифровой подписи
Назначение: возвращает результат проверки цифровой подписи
Имя метода: VerifySignature(string DataToSign, string signature, string publicKey)
Параметры: DataToSign (строка) – данные, которые необходимо подписать; signature (строка) – цифровая подпись в формате base64; privateKey (строка) – приватный ключ в формате XML.
Возвращаемое значение: Истина или Ложь
Если подпись прошла проверку – возвращает Истина

Шифрование данных
Назначение: шифровка данных
Имя метода: EncryptData(string originalMessage, string publicKey)
Параметры:  originalMessage (строка) – данные, которые необходимо зашифровать; publicKey (строка) – публичный ключ в формате XML.
Возвращаемое значение: Истина или Ложь
Результат шифрования можно прочитать из свойства encripteddata

Дешифрование данных
Назначение: дешифровка данных
Имя метода: DecryptData(string originalMessage, string privateKey)
Параметры:  originalMessage (строка) – данные, которые необходимо расшифровать; privateKey (строка) – приватный ключ в формате XML. Возвращаемое значение: Истина или Ложь
Возвращаемое значение: Истина или Ложь
Результат шифрования можно прочитать из свойства decripteddata;

Обработка ошибок
Если методы компоненты возвращают Ложь, возможно, в передаваемых параметрах допущены ошибки. Получить описание последней ошибки можно обратившись к свойству компоненты lasterror (строка)

 

11

Скачать файлы

Наименование Файл Версия Размер
Обработка "все включено"
.epf 154,77Kb
24.10.18
13
.epf 154,77Kb 13 Скачать
Только внешняя компонента
.dll 8,00Kb
02.09.18
2
.dll 8,00Kb 2 Скачать
Windows приложение для тестирования функциональности
.exe 12,00Kb
02.09.18
2
.exe 12,00Kb 2 Скачать
Исходники
.zip 889,36Kb
04.09.18
3
.zip 889,36Kb 3 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. saa@kuzov.org 04.09.18 11:20 Сейчас в теме
Спасибо за исходники!
Это большая редкость, когда автор не просто выкладывает бинарник (с х.з. каким кодом внутри), а дает возможность самому проверить код и собрать его.


У меня вопрос. Я вообще не владею .Net, и не люблю его (исторически сложилось).
Насколько проще/сложнее писать Native ВК для 1С на .Net, нежели на расово верном C++ (или хотя бы Dephi)?
softbear; +1 Ответить
4. astracrypt 61 04.09.18 12:46 Сейчас в теме
(1) Респект и уважуха автору.
5. Nikola23 417 04.09.18 16:19 Сейчас в теме
(1) пишите на чем можете. Вопрос "что проще" не считаю правильным.
36. uno-c 103 25.11.18 04:47 Сейчас в теме
(1)
Насколько проще/сложнее писать Native ВК для 1С на .Net, нежели на расово верном C++
На дотнете невозможно написать внешнюю компоненту для 1С по технологии Native.
37. Nikola23 417 25.11.18 18:48 Сейчас в теме
(36) Это является проблемой, только если Native - обязательно.
В моих задачах такого не встречал.
38. uno-c 103 25.11.18 19:21 Сейчас в теме
(37) Согласен. Но правильный ответ на конкретный вопрос "Насколько проще/сложнее писать Native ВК для 1С на .Net, нежели ..." звучит так: бесконечно сложнее, поскольку невозможно )
39. spacecraft 25.11.18 19:56 Сейчас в теме
(36)
На дотнете невозможно написать внешнюю компоненту для 1С по технологии Native.

"Да-да, конечно". Для некоторых это и правда невозможно.
https://habr.com/post/304542/?hl=ru_RU&fl=ru%2Cen
40. uno-c 103 25.11.18 20:14 Сейчас в теме
(39)Опять Вы невнимательны. В прошлый раз не заметили, что дотнет вызывает встроенного в ОС криптопровайдера, теперь не заметили, что в приведенном Вами примере по технологии Native на C++ написан враппер для классов дотнета. Т.е. для запуска скомпилированной дотнет dll-ки в приведенном примере нужна дополнительная компонента на неуправляемом коде, назвается она Native ВК. Но дотнетовская dll при этом не становится Native для 1С и без Native-прослойки на C++ не работает. Псевдокод в dll дотнета по определению не может быть внешней Native компонентой для 1С. Native должна быть написана на машинном коде.
41. spacecraft 25.11.18 21:40 Сейчас в теме
(40) вам шашечки или ехать? .NET библиотеки можно использовать в ВК Native.
Псевдокод в dll дотнета по определению не может быть внешней Native компонентой для 1С. Native должна быть написана на машинном коде.

С таким же успехом можно сказать, что любая программа на .NET не является программой, так как не написана на машинном коде.
42. uno-c 103 25.11.18 23:24 Сейчас в теме
(41)Тут да, вопрос терминологии. Любая программа на дотнете действительно не является исполняемой программой по определению. В практической плоскости это означает, что не получится скомпилировать дотнет-dll-ку для 1С , вставить ее в 1С в какой-нибудь двоичный макет, и запустить на паре-тройке других win-компьютеров без костылей. Например, в приведенном Вами примере автор предлагает для запуска тестовой dll-ки размером 70 килобайт - скачать и разместить в каталоге дополнительную многомегабайтную библиотеку.
43. uno-c 103 26.11.18 00:09 Сейчас в теме
(41)В чем вообще фишка Вашего примера? Предлагается взять скомпилированную на С++ AddInNetObjectToNative.dll - которая действительно является Native компонентой, туда же рядом скачать и поместить библиотеки NetCore, и только после этого скомпилированная из сишарпа NetObjectToNative.dll заработает. Тут два костыля получается. Это Вы называете созданием ВК по Native технологии для 1С на C#? Но если Вы обратите внимание на код 1С из Вашего примера, то единственная Native-ВК, которая там подключается - это ВК на С++
49. uno-c 103 28.11.18 04:40 Сейчас в теме
(41)
вам шашечки или ехать? .NET библиотеки можно использовать в ВК Native.
Только понял. Вы просто не уловили, о чем спрашивал saa@kuzov.org, когда писал "Насколько проще/сложнее писать Native ВК для 1С на .Net, нежели на расово верном C++ (или хотя бы Dephi)?" Если перефразировать - то он спрашивал "насколько сложнее написать Native на C#, чем на C++" или "насколько сложнее на Delphi чем на Visual Basic .NET", на это был мой ответ, который можно перефразировать "на языках дотнета написать Native невозможно". То, что библиотеки дотнета можно использовать через Native ВК, очевидно уже из разработки Nikola23, в рамках которой идет наше обсуждение. Но для этого, как и в Вашем примере, в эску сначала подключается Native на неуправляемом коде.
44. uno-c 103 26.11.18 10:00 Сейчас в теме
(39)
"Да-да, конечно". Для некоторых это и правда невозможно.
https://habr.com/post/304542/?hl=ru_RU&fl=ru%2Cen
Подытожим для ищущих способ написать на C# внешнюю Native компоненту для 1С. На сишарпе в принципе невозможно скомпилировать dll-ку, которая подключалась бы в 1С методом ПодключитьВнешнююКомпоненту("ИзСиШарпа.dll", "Имя", ТипВнешнейКомпоненты.Native). NativeВК из статьи по ссылке spacecraft-а написана на C++, в этом можно убедиться, если прочитать приведенную статью, обратить внимание на строки из нее
ИмяФайла=КаталогОтчета+"\AddInNetObjectToNative.dll";
ПодключитьВнешнююКомпоненту(ИмяФайла, "NetObjectToNative",ТипВнешнейКомпоненты.Native); 
и посмотреть исходники AddInNetObjectToNative.dll, любезно предоставленные автором упомянутой статьи.
45. Nikola23 417 27.11.18 06:08 Сейчас в теме
(44) Коллега, в чем суть вашего участия в обсуждении и того, как много времени вы тратите на доказывание своей правоты?

Мне вот все равно, правы Вы или нет. Просто интересно стало: у Вас много лишнего времени? Потратьте его на семью...

П,С, пока вы строчите комментарии я решаю задачи, пусть и не идеальным/оптимальным методом - я уже перерос юношеский максимализм.
С# использую, потому что знаю. С++ не знаю, учить не хочу, даже если на основы достаточно потратить 1 день.
46. uno-c 103 27.11.18 06:15 Сейчас в теме
(45)Искал когда-то сам ответы на эти вопросы, быстро не нашел, пополняю интернет правильными ответами. Жаль, что их портят некомпенетнтыми возражениями, но если польза будет возражающему, тогда не жаль. Пока Вы решаете чужие задачи, я занимаюсь чем хочу.
47. uno-c 103 27.11.18 06:51 Сейчас в теме
(45)А Вы скажите, в чем смысл шифрования в 1С с использованием двух костылей: C++ внешней компоненты плюс C# dll-ки? Именно шифрования, не подписи sha256rsa. Менеджер криптографии эсочный с шифрованием не справился?
48. uno-c 103 27.11.18 07:03 Сейчас в теме
(45)
С# использую, потому что знаю. С++ не знаю, учить не хочу, даже если на основы достаточно потратить 1 день.
Вы зря восприняли мою реплику про С++ в свой адрес. Она была предназначена для вопрошающего, который думал, что на языках дотнета можно написать NativeВК.
2. Steelvan 04.09.18 11:33 Сейчас в теме
Если сервера в Америке, то это будет самый большой риск для предпринимателя.
Заблокируют и будут шантажировать.
3. astracrypt 61 04.09.18 12:46 Сейчас в теме
(2) Это тебе не Раша, там уважают закон, никто без решения конгреса или постановления суда не будет тебя шантожировать.
6. Steelvan 04.09.18 22:24 Сейчас в теме
(3) Подотрите сопли, перестаньте верить в бабкины сказки и выучите правила грамматики русского языка.
И посмотри другие источники информации об Америке, кроме фильмов о супергероях.
EmpireSer; +1 Ответить
7. echo77 1098 24.10.18 11:55 Сейчас в теме
(0) Классно!
Только поправьте заголовок на RSA-SHA256, а то поиском не ищется.
8. uno-c 103 11.11.18 10:11 Сейчас в теме
У меня криптопровайдер вшит в Windows, думаю у буржуев то же самое. Вот рабочий пример подписи RSA-SHA256 с его помощью на 1С. Закрытый ключ хранится в макете в виде xml, вспомогательные функции SafeИзДвоичных, ДвоичныеИзSafe и т.п. не привожу - понятно что они делают. Только что проверил - все работает, подпись рассчитывает, конечного получателя эта подпись устраивает.
Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
Хеширование.Добавить(JWTдляСигнатуры);
Хеш = Хеширование.ХешСумма;

ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
ХМЛСертификатСЗакрытымКлючом = ОбработкаОбъект.ПолучитьМакет("Макет");
ХМЛТекст = ПолучитьСтрокуИзДвоичныхДанных(ХМЛСертификатСЗакрытымКлючом);
КрПровайдер = Новый COMОбъект("System.Security.Cryptography.RSACryptoServiceProvider");
КрПровайдер.FromXmlString(ХМЛТекст);

SafeArrayBinХешДляПодписи = SafeИзДвоичных(Хеш);
SafeArrayBinПодписьДвоичная = КрПровайдер.SignHash(SafeArrayBinХешДляПодписи, "SHA256");
ПодписьДвоичная = ДвоичныеИзSafe(SafeArrayBinПодписьДвоичная); 
Показать
9. Nikola23 417 11.11.18 22:50 Сейчас в теме
(8) Раз за Вас. Спасибо за пример, может быть сообществу пригодится.
10. uno-c 103 12.11.18 00:07 Сейчас в теме
(9) Похоже, в статье вот это в заблуждение вводит:
Можно задействовать внешний криптопровайдер, но это стоит денег, да и сервер на котором все должно работать находится в Америке и там же админится, дадут ли устанавливать лишний софт – большой вопрос.
Криптопровайдер внешний не нужен, работает виндовский, без дополнительной оплаты.
11. uno-c 103 12.11.18 00:40 Сейчас в теме
(9) Более того, используемый Вами дотнет обращается к этому же виндовскому криптопровайдеру. Вы ведь в коде исходников не возводите хеш в степень закрытого ключа по модулю открытого ключа?
12. spacecraft 12.11.18 00:58 Сейчас в теме
(11)
Более того, используемый Вами дотнет обращается к этому же виндовскому криптопровайдеру

этот "виндовский криптопровайдер" не встроен в видну. Это библиотека того самого "дотнет" framework.

(10)
Криптопровайдер внешний не нужен, работает виндовский, без дополнительной оплаты.

Для приведенного примера да, не нужен. Намного интересней, когда понадобится использовать гостовский криптопровайдер.
14. uno-c 103 12.11.18 02:02 Сейчас в теме
(12)Во-первых, сам дотнет встроен в винду. Во-вторых, крипропровайдеры встроены в винду помимо дотнета. В третьих, в случае с RSA-SHA256 дотнет работает как оболочка для неуправляемого кода Microsoft Cryptography API (CryptoAPI), т.е. сам ничего не рассчитывает, а обращается API виндовского криптопровайдера, т.е. по сути делает то же самое, что я написал в коде 1С. Если в винде не будет нужного криптопровайдера - дотнет ничего не сможет с RSA-SHA256. А вот для случая с эллиптическими кривыми (например у ГОСТ такое) - там как раз да, дотнет сам все умеет вычислять в управляемом коде без обращения к CSP, т.е. по идее дотнету не нужен КриптоПро, хотя я так не пробовал, использовал cadescom.dll КриптоПрошный из 1С, он насколько помню бесплатный.
15. spacecraft 12.11.18 08:54 Сейчас в теме
(14)
Во-первых, сам дотнет встроен в винду.

Спорное утверждение. С точки зрения использования актуальной версии, ее приходится устанавливать как отдельное приложение.

(14)
В третьих, в случае с RSA-SHA256 дотнет работает как оболочка для неуправляемого кода Microsoft Cryptography API (CryptoAPI), т.е. сам ничего не рассчитывает, а обращается API виндовского криптопровайдера, т.е. по сути делает то же самое, что я написал в коде 1С. Если в винде не будет нужного криптопровайдера - дотнет ничего не сможет с RSA-SHA256.

Это в корне не верно. CryptoAPI это интерфейс, который как содержит свою реализацию криптопровайдера, так и может использовать сторонний. В данном случае System.Security.Cryptography.RSACryptoServiceProvider это сторонний криптопровайдер, который реализует интерфейс CryptoAPI. Т.е. это через CryptoAPI можно использовать криптопровайдер "дотнет".
16. uno-c 103 12.11.18 10:13 Сейчас в теме
(15)
С точки зрения использования актуальной версии, ее приходится устанавливать как отдельное приложение
Это как раз недостаток Вашего метода, поэтому метод напоминает причину отказа от операции Афенбаха из горячих голов.
Это в корне не верно
Читайте доки и смотрите свой код. "К именам неуправляемых реализаций обычно добавляется суффикс «CryptoServiceProvider» (скажем, SHA1CryptoServiceProvider), указывающий на то, что данная реализация на самом деле предоставляется криптопровайдером (Cryptographic Service Provider, CSP), который установлен на уровне операционной системы и действует как оболочка CryptoAPI. В имена управляемых реализаций включается суффикс «Managed» (например SHA1Managed). Такие реализации не опираются на CryptoAPI и содержат исключительно управляемый код." Ну и как Вас, Managed? ))
17. spacecraft 12.11.18 10:17 Сейчас в теме
(16) вы что-то попутали. Не я автор темы и никакого кода не выкладывал.
18. spacecraft 12.11.18 10:23 Сейчас в теме
(16) вы в самом деле не понимаете, что сами же в своем коде из 1С вызываете класс из библиотеки "дотнет"?
https://docs.microsoft.com/ru-ru/dotnet/api/system.security.cryptography.rsacryptoserviceprovider?view=netcore-2.0
19. uno-c 103 12.11.18 10:28 Сейчас в теме
(18)Похоже, Вы смотрите и не видите. Написано же, "предоставляемого поставщиком служб шифрования (CSP)" - т.е. дотнету нужен внешний криптопровайдер. В данном конкретном случае будет использоваться криптопровайдер винды по умолчанию - Microsoft Enhanced Cryptographic Provider или Microsoft Strong Cryptographic Provider. И где Вы в моих постах нашли утверждение, что мой код не использует класс дотнета? Я утверждал, что дотнет встроен в винду, криптопровайдер встроен в винду, и в данном случае дотнет использует бесплатный виндовский криптопровайдер. Это относилось к фразе автора
Можно задействовать внешний криптопровайдер, но это стоит денег
20. spacecraft 12.11.18 10:48 Сейчас в теме
(19) как это объясняет, что вы сами используете этот класс из 1С? "т.е. по сути делает то же самое, что я написал в коде 1С." По сути вы просто вызываете этот класс.
21. uno-c 103 12.11.18 11:04 Сейчас в теме
(20)Моему вызову не нужна конкретная версия дотнета, в отличие от разработки автора, если правильно понял Ваш вопрос. Я говорил платном криптопровайдере, который не нужен для RSA-SHA256, потому что встроен в винду и вызывается из дотнета.
22. spacecraft 12.11.18 11:16 Сейчас в теме
(21) тогда произошло недопонимание всех. Автор так же не использовал платный криптопровайдер, а воспользовался этим же встроенным классом из дотнет, только через ВК.
24. uno-c 103 12.11.18 17:04 Сейчас в теме
(22)а этот класс ничего не умеет кроме как обратиться к встроенному в винду Microsoft Enhanced Cryptographic Provider. Этот класс - просто обертка. В win-XP можно было достучаться к этому же криптопровайдеру через CAPICOM.
23. spacecraft 12.11.18 11:27 Сейчас в теме
(21) по сути, ваше решение подходит только для windows.
Решение с ВК может работать и на unix. Не знаю как сделано у автора, но теоретически это возможно.
Соответственно нужно использовать класс "System.Security.Cryptography.Algorithms".
25. uno-c 103 12.11.18 17:49 Сейчас в теме
(23)Похоже, что автор написал dll на управляемом коде и запускает ее с помощью native компоненты https://infostart.ru/public/300091/ Последняя сделана только для windows судя по описанию. Вот такой длинный путь вместо прямого обращения из кода 1С, как я предполагаю.
26. Nikola23 417 12.11.18 17:55 Сейчас в теме
(25) Что за холивар устроили Вы тут?
Компонента решает намного больше задач, чем просто создание цифровой подписи.

Но самое главное - не это. Полный интернет примеров кода, на всех языках, кроме 1с) Потому, какой пример (работающий) нашел, на том языке и скомпилил.

Напишите на 1с шифрование данных этим же алгоритмом. Уверен, сообществу будет благодарно.

Главное - не язык или технология, а решение задачи заказчика в рамках бюджета и сроков с приемлемым уровнем качества.
27. uno-c 103 12.11.18 18:22 Сейчас в теме
(26)Вам предложен более лаконичный способ решения Вашей задачи
реализовать подписание ЭЦП по алгоритму SHA256-rca
Плюс неплохо и пояснить spacecraft в чем он заблуждается, вдруг где пригодится. При чем тут холивар? Обратное тоже работает - spacecraft открывает для читающих что-то новое.
28. Nikola23 417 13.11.18 02:47 Сейчас в теме
(27) Предложен - ок, я поблагодарил сразу.
Только я не просил.

Оформите свои знания отдельной публикацией - сообщество поблагодарит...
29. uno-c 103 13.11.18 07:54 Сейчас в теме
(28)Ваша просьба не обязательна. Нашедший Ваше решение и прочитавший комментарии к нему увидит, что оно не оптимально. На отдельную статью приведенный мной способ сделать подпись RSA-SHA256 не тянет - в принципе в тех строчках кода, что я привел, и есть решение задачи, поставленной в начале Вашей статьи. Вот еще строчка - вариант проверки действительности цифровой подписи.
ПодписьВерна = КрПровайдер.VerifyHash (SafeArrayBinХешДляПодписи, "SHA256", SafeArrayBinПодписьДвоичная);
Асимметричное шифрование RSA - неактуально для 1С, но если будет нужно - принцип тот же.
30. Nikola23 417 13.11.18 21:49 Сейчас в теме
(29) По какому критерию оптимальность считаете?
31. uno-c 103 13.11.18 22:29 Сейчас в теме
(30) Эффективность по Парето. В данном случае выражается как "чем проще - тем лучше" при одинаковой функциональности. Хотя нет, функциональность в предложенном мной способе получше будет - нет завязки на версию дотнета. Ваше решение на win-10 потребует установки третьей версии дотнета.
32. Nikola23 417 14.11.18 09:38 Сейчас в теме
(31) Ваши утверждения высосаны из воздуха, что бы ваша позиция была подтверждена хоть чем-то. Конкретных цифр не предоставлено, да и вряд ли возможно, потому как Ваше решение - только куча слови и 3 строчки кода, на практике не проверялось. Не спорю, работать будет.

Лучшее решение - это то, которое решает задачу заказчика, в приемлемый срок с приемлемым качеством в рамках бюджета.

Коллега, уже не раз пишу, что функционал компоненты выходит за рамки создания ЭЦП. Почитайте описание хотя бы.
33. uno-c 103 14.11.18 10:34 Сейчас в теме
(32)Мое утверждение проверялось на Тинкофбанке при выдаче займов по схеме МФО, а также на 2LO авторизации Google API. Из двух решений, делающих одно и то же, лучшее то, которое менее требовательно к среде выполнения. Вы суть моего решения не поняли - делаете все то же самое, что у Вас написано и скомпилировано в dll, но делаете это напрямую из кода 1С, что подпись, что шифрование. И никаких dll и NETLoader при этом не нужно, работает на винде от 7 до 10 без запроса 3.5 дотнета - это из проверенного. На XP-sp3 тоже будет работать, если дотнет 35 поставить, на ранних XP даже с дотнетом 3.5 не работает, т.к. дотнет обращается к виндовому криптопровайдеру, а он в раньше не умел SHA256RSA. Добавлю из неочевидного к приведенному мной коду:
COMSafeArray = Новый COMSafeArray("VT_UI1", Байтов);//однобайтовый без знака
Он используется при передаче двоичных данных между эской и криптопровайдером.
34. Nikola23 417 14.11.18 10:45 Сейчас в теме
(33) Прошу за меня не решать, что я понял, а что нет.

Вы молодец, предлагаю перестать тешить свое ЧСВ, а сделать свои знания достоянием сообщества.
35. uno-c 103 14.11.18 10:56 Сейчас в теме
(34)Если кому-то нужно больше чем я написал, для решения задач подобной Вашей, без использования двух дополнительных dll-ок и без завязки на версию дотнет - вэлкам. Или помогу или действительно статью напишу. Что Вы поняли что нет - это не мое решение, а вывод из Ваших слов
Ваши утверждения высосаны из воздуха
Либо это из-за непонимания, либо еще хуже )
56. geniusan 06.11.19 17:03 Сейчас в теме
(35) Плюсую, сделал также для SHA512RSA. Пришлось сделать программку небольшую на C#, которая приватный ключ переводит из pfx в xml. Хранить его не очень безопасно получается в макете, пока сохранил в безопасном хранилище (от БСП), убрав все права у всех ролей, и сделав получение через привилегированный режим, но все равно - это ненадежно. В идеале бы найти способ, как можно средствами 1С, сертификат хранимый в хранилище сертификатов получить в xml, или как из него инициализировать RSACryptoServiceProvider.


Пример получения ЭЦП в base64:
PrivateKey 			= ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища("PrivateKey");
ОбъектШифрования	= Новый COMОбъект("System.Security.Cryptography.RSACryptoServiceProvider");
ОбъектШифрования.FromXmlString(PrivateKey);

ВходнаяСтрока 	= "Test string";
UTF8Encoding 	= Новый COMОбъект("System.Text.UTF8Encoding");
ДаныеБинарные 	= UTF8Encoding.GetBytes_4(ВходнаяСтрока);

//Получаем подпись
BinaryЭЦП		= ОбъектШифрования.SignData_2(ДаныеБинарные, "2.16.840.1.101.3.4.2.3"); //SHA512RSA OUT:ComSafeArray
ЭЦП 			= BinaryЭЦП.Выгрузить(); //ComSafeArray -> Массив
Размер			= ЭЦП.Количество();
Буфер			= Новый БуферДвоичныхДанных(Размер); //Массив -> БуферДвоичныхДанных
Для Н = 0 По Размер - 1 Цикл
	Буфер[Н] = ЭЦП[Н];
КонецЦикла;
ВыходнаяСтрока	= ПолучитьBase64СтрокуИзБуфераДвоичныхДанных(Буфер);// БуферДвоичныхДанных -> Base64 String
Сообщить(СтрЗаменить(ВыходнаяСтрока, Символ(13) + Символ(10), ""));
Показать
57. uno-c 103 06.11.19 19:55 Сейчас в теме
(56)Для перевода pfx в xml можно запустить PowerShell и скопипастить в него подобный скрипт:
$cert = New-Object system.security.cryptography.x509certificates.x509certificate2
$pat="d:\UNSAFE\del\PrivateKey.pfx"
$password="123"
$flags = "UserKeySet,Exportable"
$cert.Import($pat, $password, $flags)
$myXml = $cert.PrivateKey.ToXmlString($True)
$myXml | Out-File "d:\UNSAFE\del\PrivateKey.xml"
Если Enter после последней строки не подхватите при копировании - дополнительно нажмите Enter в PowerShell

Для безопасного хранения закрытого ключа xml - можно зашифровать его средствами 1С:
	//шифруем ХМЛ
	МенеджерКриптографии = Новый МенеджерКриптографии("Microsoft Enhanced Cryptographic Provider v1.0","",1);
	ХранилищеСертификатов = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
	Сертификат = ХранилищеСертификатов.НайтиПоОтпечатку(ПолучитьДвоичныеДанныеИзHexСтроки("908407f45198d4dd3a544c16d6b1a0cac85340cd"));
	ДвоичныеКлючаХМЛ = Новый ДвоичныеДанные("d:\UNSAFE\del\PrivateKey.xml");
	ДвоичныеЗашифрованногоХМЛ = МенеджерКриптографии.Зашифровать(ДвоичныеКлючаХМЛ, Сертификат);
	СтрокаЗашифрованныеХМЛ = Base64Строка(ДвоичныеЗашифрованногоХМЛ);
	
	//расшифровываем ХМЛ
	//МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = "123";
	ДвоичныеЗашифрованногоХМЛ = Base64Значение(СтрокаЗашифрованныеХМЛ);
	ДвоичныеРасшифрованы = МенеджерКриптографии.Расшифровать(ДвоичныеЗашифрованногоХМЛ);
	СтрокаХМЛ = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеРасшифрованы);
	Сообщить(СтрокаХМЛ);
Показать
58. geniusan 07.11.19 00:57 Сейчас в теме
(57) Потрясающий ход :) Добавлю, пожалуй, шифрование/расшифровывание всего безопасного хранилища одним сертификатом. Не удивлюсь, если в БСП это тоже скоро допилят. Спасибо!
13. uno-c 103 12.11.18 01:45 Сейчас в теме
50. stash_84 08.08.19 09:35 Сейчас в теме
(13) В связи с тем, что внутренние сообщения не работают, хотел бы тут обратиться к Вам - не могли бы Вы пояснить о своём решении, основанном на штатном криптопровайдере ОС?
51. Nikola23 417 08.08.19 22:31 Сейчас в теме
52. stash_84 09.08.19 07:04 Сейчас в теме
(51) вопрос был неверным - работа с криптографией средствами Крипто Про.
53. Nikola23 417 09.08.19 18:37 Сейчас в теме
(52) В этой компоненте крипто про не поддерживается. У крипто про есть свои методы.
54. stash_84 13.08.19 08:47 Сейчас в теме
(53) по этим методам есть подобные статьи или только на сайте "Крипто Про" необходимо брать документацию и разбираться?
55. Nikola23 417 13.08.19 21:06 Сейчас в теме
(54) Этот вопрос я не разбирал. Поэтому Вам надо самому разбираться. В т.ч. с поиском документации.
Оставьте свое сообщение

См. также

Управление окнами и мониторами в 1С 6

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Windows Абонемент ($m) Сервисные утилиты Разработка внешних компонент

Управление размерами, активностью и положением окон из 1С с возможностью вывода окон на второй монитор и запретом изменения окна.

1 стартмани

28.10.2019    1798    Grigoriy251    2       

Маленькая и скромная мобильная внешняя компонента 45

Вопрос Программист Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Изваять простенькую мобильную компоненту на 1С для android не так-то просто. Посему назло отдельным супостатам, не желающим делится исходниками, представляю весь свой скромный труд на публичный суд.

1 стартмани

21.10.2019    3182    1    ripreal1    8       

Обозреватель криптографии 41

Инструменты и обработки Системный администратор Программист Внешний отчет (ert,erf) v8 Windows Абонемент ($m) Инструментарий разработчика Защита ПО

Отчет для просмотра доступных провайдеров и сертификатов криптографии на сервере и клиенте.

2 стартмани

21.10.2019    2481    5    YPermitin    10       

Native внешняя компонента для оповещения по UDP или TCP 35

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    2673    5    vdv2701    7       

Внешняя компонента для работы с драйвером "Атол v.10". 1С:8.3 5

Инструменты и обработки Программист Архив с данными v8 Windows Кассовые операции Абонемент ($m) Разработка внешних компонент

Внешняя компонента, для работы с драйвером «Атол v.10», посредством JSON-заданий.

1 стартмани

16.07.2019    2445    4    gortrex    0       

Менеджер буфера обмена. Нативная внешняя компонента win 32/64 7

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Добавляет возможности получения информации из почтовых вложений или файлов с других рабочих столов (RDP) с помощью операций копирования/вставки. Может «прослушивать»: любые изменения буфера обмена; нажатие клавиш соответствующих вставке (paste); нажатие клавиш копирования (copy); drop операции. Это новая реализация аналогичной компоненты https://infostart.ru/public/379695/, но теперь не C#, а С++ нативно для x32 / x64. (см. http://youtu.be/-PaWWFfbYo4)

1 стартмани

26.06.2019    1706    4    Bww    6       

Обработка вывода на печать QR-кода и штрихкодов в различных форматах (одномерные и двумерные) 9

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Разработка внешних компонент Ценники

Обработка предназначена для вывода на печать QR-кода и штрихкодов в различных форматах без установки дополнительных ActiveX компонент. Тестировалась на чистой базе платформы 1С:Предприятие 8.3 (8.3.14.1630), а так же в конфигурациях Бухгалтерия предприятия КОРП, редакция (3.0.69.35) и на Бухгалтерия предприятия (3.0.70.30)

2 стартмани

22.05.2019    2498    14    MGemini    2       

DLL для подключения к Asterisk (32/64 клиенты) 6

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Телефония, SIP

Подключение к Астериску и получение событий "Newchannel","BridgeEnter","Hangup" через ОбработкаВнешнегоСобытия.

1 стартмани

19.03.2019    2787    3    xxxAndricxxx    9       

DLL для обмена между 1С (и не только) через UDP порты (32/64 клиенты) 14

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Разработка внешних компонент

Библиотеки для создания функционала для прослушивания портов из 1С и отправки сообщений на удаленный udp порт.

1 стартмани

28.02.2019    2469    6    xxxAndricxxx    1       

Внешняя компонента для ping (под win) 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Цель: выполнение ping из 1С без использования команд системы. Может быть полезна разработчикам для проверки доступности компьютеров.

1 стартмани

05.01.2019    2406    2    milut    0       

Эмулятор ККМ по стандарту ФФД 1.1 21

Инструменты и обработки Программист Архив с данными v8 Розница УТ11 Россия Windows Кассовые операции Абонемент ($m) Разработка внешних компонент ККМ

Эмулятор драйвера ККМ по стандарту ФФД 1.1 предназначен для использования всех возможностей программы, при отсутствии физической кассы. Подойдет как программистам при разработке интерфейса РМК, например, так и пользователям для тестирования возможностей программы.

1 стартмани

30.12.2018    10142    81    Matveymc    19       

Внешняя компонента для считывателя карт ACS 122/1281 (БПО) 5

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Ридер магнитных карт

Внешняя компонента для считывателя бесконтактных карт ACS 122/12 для подсистемы подключаемого оборудования.

1 стартмани

11.12.2018    3375    14    eugenevk    19       

WebSocket Клиент / Сервер. Внешний компонент 20

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент

Реализация протокола WebSocket. Клиентская часть для взаимодействия с внешними сервисами. Серверная часть для организации собственного сервера, принимающего клиентские соединения в многопоточном режиме. Возможно взаимодействие RabbitMQ Slack Asterisk и другие

1 стартмани

16.11.2018    5940    36    nomadon    27       

Внешняя компонента для выполнения регулярных выражений 58

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Внешняя Native API компонента для выполнения регулярных выражений на платформе 1С:Предприятие 8. Написана на C++. Используется движок boost::regex (v 1.69, v 1.68 - для Android). Версия синтаксиса Perl Compatible Regular Expressions.

1 стартмани

12.11.2018    6466    21    KAV2    57       

Native компонента для 8.3, реализующая метод sleep() 6

Инструменты и обработки Программист Архив с данными v8 Россия Windows Абонемент ($m) Разработка внешних компонент

Внешняя Native 64-битная компонента для 1C 8.3, которая реализует метод sleep() - паузу выполнения кода. Пауза для большой устойчивости сделана платформозависимой и требует WinAPI. Ид компоненты - AddIn.AddInNativeSleep.NativeSleep.

1 стартмани

16.10.2018    3605    2    ripreal1    9       

TextRadar - нечеткий поиск в тексте (Native API) 10

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент

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

5 стартмани

19.09.2018    7825    15    TSSV    14       

Класс-обработка “Работа с картами Яндекс” 59

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Разработка внешних компонент WEB

Как показать точку или маршрут на карте Яндекс. Как получить координаты по строке адреса (геокодирование).

1 стартмани

01.08.2018    11909    138    RSConsulting    13       

Распознавание лиц (off-line). Демонстрационная база. 98

Инструменты и обработки Системный администратор Пользователь Руководитель проекта Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Распознавание лиц входит в нашу жизнь стремительными темпами, бизнес стремится за событиями. В публикации находится описание и пример использования нейросетей для распознавания лиц.

1 стартмани

17.07.2018    10874    73    nomadon    45       

QR-code полная версия (без шрифта и внешней компоненты для 8.2, 8.3 и любого типа клиента) 11

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Разработка внешних компонент Сканер штрих-кода

Предназначена для создания QR-code с указанием процента восстановления потерянных данных. Строка кодирования может содержать все печатаемые символы, в том числе и кириллические. Для работы не требуется внешняя компонента или шрифт.

2 стартмани

10.07.2018    6939    13    bobank    6       

Внешняя компонента для ping'а 18

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Внешняя компонента для выполнения ping'а из 1С:Предприятия 8.

1 стартмани

04.07.2018    6666    5    frkbvfnjh    24       

Демо Native API компонента для использования в 1С плагинов, написанных на Java 22

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Демо: запускаем виртуальную машину Java в 1С. Собрана внешняя компонента которая позволяет запускать виртуальную машину java в среде 1С. Позволяет как передавать параметры в java - так и получать уведомление через externalevent. Предпосылкой создания являлся тот факт, что есть много готового функционала которого не хватает в 1С. Язык сpp - довольно сложен для быстрой разработки, и теперь возможно использовать готовые сборки java классов (так называемые jar-файлы) для использования в 1С.

1 стартмани

20.06.2018    6184    14    minimajack    35       

Вызов методов 1С из внешней компоненты, выполненной по технологии COM на C++ 7

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Пример работы с объектами и методами 1С из внешней компоненты, разработанной по технологии COM на С++.

1 стартмани

04.06.2018    5540    4    le_    0       

Tool1CD Beta в деле 98

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 Абонемент ($m) Разработка внешних компонент

Пс, парень! Не хочешь немного сырых байтов?

1 стартмани

09.05.2018    17888    27    baton_pk    26       

Внешняя компонента Native для создания штрих кода (GS1 DataBar Expanded, GS1 DataBar Expanded Stacked и другие) 16

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

В связи с внедрением ГИС Меркурий потребовалось внешняя компонента, которая создает штрихкод и отдает 1С. ВК создана на основе библиотеки zint www.sourceforge.net/projects/zint.

1 стартмани

27.04.2018    11877    169    artmaks1988    65       

Внешняя компонента для работы по Web-socket протоколу 21

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент WEB

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

6 стартмани

30.03.2018    13884    9    Ditron    63       

Работа с любыми сканерами документов в 1С c помощью внешней компоненты от vintasoft.com 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Универсальная обработка для сканирования изображений на любых сканерах (поточных, планшетных) средствами ActiveX от компании Vintasoft.

1 стартмани

29.03.2018    5924    3    Dach    0       

Разработка игр на языке 1С с использованием Active-X компоненты (собственная разработка) 10

Инструменты и обработки Программист Архив с данными v7.7 v8 Россия Windows Абонемент ($m) Разработка внешних компонент

Написанная Active-X компонента встраивается на форму обработки 1С (тестировалось на 1С 8.0, 8.1, 8.2, 8.3 не управляемые формы, 1С 7.7.). Компонента предназначена для моделирования игрового поля (вывод, движение спрайтов - фреймов, обработка коллизий, управление спрайтами-фреймами и т.д.) при разработки логики игры на встроенном языке 1С. Приложен пример обработки в которой реализована игра "Бита".

5 стартмани

04.01.2018    10033    2    protexprotex    34       

Active-X компонента для получения видео-данных с Web-камеры, IP-камеры для 1С 8.3, 1С 8.2, 1С 8.1, для рисования на форме 12

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Разработка внешних компонент

Active-X компонента встраивается непосредственно на форму 1С (тестировалось на 1С 8.3, 1С 8.2, 1С 8.1 - неуправляемые формы), реализованы методы подключения к Web-камеры (интерфейс VFW), к IP-камере по http-запросам, отображение на форме 1С потокового видео, снятие скрина и сохранение в файл на диск. Приложена обработка реализующая подключение и работы с ocx - компонентой.

4 стартмани

13.12.2017    9753    21    protexprotex    24       

ЭЦП по гостам Украины в 1С - Внешняя компонента BilboSign.dll 6

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Украина Windows Абонемент ($m) Разработка внешних компонент Защита и шифрование

Причиной данной разработки послужило отсутствие на данный момент криптопровайдера ЭЦП, который может работать по гостам Украины и использоваться в 1С. Для этого разработана внешняя компонента по технологии NativeAPI.

1 стартмани

11.12.2017    7715    11    Zahary    5       

Внешняя компонента симуляции нажатий клавиатуры и мыши (в т.ч. сворачивание/разворачивание динамических списков) 7

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Данная ВК позволяет использовать в ОС Windows начиная с 2000 функцию WinApi - SendInput(). А прилагающаяся обертка на 1С под нее позволяет делать это комфортно и просто. Внешняя компонента была написана, прежде всего, для сворачивания/разворачивания группировок в динамических списках.

1 стартмани

18.10.2017    10169    9    🅵🅾️🆇    24       

Отправка сообщений 9

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Внешняя компонента и сервер отправки сообщений клиентам с сервера / от других клиентов.

1 стартмани

16.10.2017    8255    8    eugenevk    5       

Компонента формирования штрихкода 5

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Компонента формирования штрихкодов по технологии NativeAPI. Разработана как альтернатива стандартной компоненте 1С.

1 стартмани

04.10.2017    7906    24    eugenevk    18       

Внешняя компонента для работы с весами Massa-K (технология NativeAPI) из 1С 6

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Весы

Внешняя компонента создавалась для работы с терминалами типа А и RA, вполне вероятно, будет работать и с другими терминалами масса-К. Получает показания весов в любой момент времени, также можно подключить выдачу внешнего события при окончании взвешивания (при звуковом сигнале весов).

2 стартмани

15.09.2017    10809    7    Kant1975    13       

Внешняя компонента (Native) для печати QR-кода 10

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Native-компонента и тестовая обработка для печати QR-кода в различных кодировках.

1 стартмани

21.08.2017    11406    25    ImHunter    14       

Внешняя компонента (Native) для печати двумерного штрих-кода PDF417 11

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Достаточно давно возникла потребность печатать двумерные штрих-коды на некоторых документах. Какое-то время использовали для этого шрифтовую отрисовку ШК. Минусы этого решения - необходимость иметь установленный специальный шрифт, неустойчивость чтения платежными терминалами. Поэтому было принято решение - попробовать написать свою ВК.

1 стартмани

10.02.2017    23986    88    ImHunter    10       

Сервер TCP/IP NativeAPI на Delphi 5

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Разработка внешних компонент

Внешняя компонента NativeAPI на Delphi запускает прослушивание заданного порта по протоколу TCP/IP.

1 стартмани

10.11.2016    10431    24    AleSSandre    7       

Фотография с камеры через DirectX 5

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Компонента для получения фотографии с WEB-камеры с использованием DirectX

5 стартмани

04.11.2016    9449    12    7OH    14       

1С+Классы. Версия-0 52

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Математика и алгоритмы

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    16829    14    IntelInside    68       

Внешняя компонента RBSCaller.dll для интеграции с 3CX Phone System 7

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Разработка внешних компонент Телефония, SIP

Внешняя компонента для 1С: 8.x, позволяющая производить звонки, получать оповещения о входящих через механизм внешних событий 1С.

2 стартмани

12.10.2016    14663    17    RBS    7       

"Внешнее событие" и мобильная платформа 1С 65

Инструменты и обработки Программист Архив с данными v8 Android Абонемент ($m) Разработка внешних компонент Мобильная разработка

Внешние компоненты в Android для Мобильной Платформы 1С или как вызвать внешнее событие, когда его нет.

1 стартмани

09.09.2016    29729    81    dewersia    49       

Организация файлового хранилища на базе MS SQL Server с доступом из 1С 80

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент Сервисные утилиты

Пример реализации хранения файлов в базе MS SQL Server с использованием различных технологий. Подробно рассмотрен потоковый доступ к файлам с использованием технологии FileStream.

1 стартмани

27.07.2016    18989    42    tohandr    30       

Native компонента сканирования для обычных форм (Beta версия) 6

Инструменты и обработки Программист Конфигурация (md, cf) v8 Россия Windows Абонемент ($m) Инструментарий разработчика Разработка внешних компонент

Внешняя компонента, сделанная по технологии Native для 1С. Компонента использует Windows Image Acquisition для работы со сканерами. Компнонета тестировалась только в толстом клиенте на обычных формах. В принципе, ее использование в УФ не исключено. Тест проводился как локально, так и через RDP подключение.

1 стартмани

18.07.2016    27405    11    compguru    7       

Native компонента для чтения из Com порта 10

Инструменты и обработки Программист Архив с данными v8 Россия Windows Абонемент ($m) Разработка внешних компонент

Компонента позволяет посредством ВнешнегоСобытия получать данные из Com-порта

1 стартмани

18.07.2016    11229    64    compguru    18