Демченко Александр

19
Рейтинг

deman_ru
Александр Демченко



  •   Регистрация: 21.08.2013 (10 лет назад)

  •   Был(а) на сайте: 12.05.2024

Друзья
  • Игорь Тренкунов
  • Николай Крылов
  • Игорь Стоцкий
  • Дионисий Милославский
  • E S
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Сергей
  • Евгений _
  • ce ce
  • Андрей Волин
Подписчики 13

Группы

Партнер IS-WP

Рейтинг 19

Внешняя печатная форма УПД для 1С:Комплексная автоматизация 1.1

Отчеты и формы Бухгалтер Платформа 1С v8.3 1С:Комплексная автоматизация 1.х Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Абонемент ($m) Внешняя обработка (ert,epf) Печатные формы

Внешняя печатная форма УПД для Комплексная автоматизация 1.1. Добавлены дополнительные данные в поля продавец и покупатель, а также адрес продавца и покупателя.

1 стартмани

08.01.2019    3728    14    deman_ru    1       

1

Обработка переноса номенклатуры из БП 3.0 в УТ 11.2 в формате XML

Инструменты и обработки Программист Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Windows Абонемент ($m) Внешняя обработка (ert,epf) Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Логистика, склад и ТМЦ

Необходимо было написать обработку выгрузки номенклатуры из БП 3.0, с отбором по группам в формате XML и последующей загрузки ее в УТ 11.2. Один и тот же файл обработки используется в обеих конфигурациях.

1 стартмани

02.06.2016    12608    56    deman_ru    2       

1

Комментарии

DevОшибка алгоритма шифрования в менеджере криптографии на платформе: 8.3.24.1342#1 20.01.24 0:28
Всем привет.
Может быть кто сталкивался с таким и решил это. Суть в следующем: менеджером криптографии, выполняется подпись строки, по алгоритму RSA, алгоритм хэширования: SHA-256, менеджером криптографии, криптопровайдер: Microsoft Enhanced RSA and AES Cryptographic Provider. Код следующий:

Код
   МенеджерКриптографии = Новый МенеджерКриптографии("Microsoft Enhanced RSA and AES Cryptographic Provider", "", 24);
   МенеджерКриптографии.АлгоритмПодписи = "1.2.840.113549.1.1.1"; //RSA_SIGN
   МенеджерКриптографии.АлгоритмХеширования = "2.16.840.1.101.3.4.2.1"; //SHA-256
   
   Хранилище = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
   СписокСертфикатов = Хранилище.ПолучитьВсе();
   
   Сертификат = Хранилище.НайтиПоОтпечатку(ПолучитьДвоичныеДанныеИзHexСтроки("d9be*****"));
   
   СтрокаПодписиДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки(СтрокаПодписи);
   
   ОтсоединеннаяПодпись = МенеджерКриптографии.Подписать(JsonДвоичныеДанные, Сертификат);


Все это замечательно работало на платформе: 8.3.22 и к примеру: 8.3.23.1997. После того как установили платфому: 8.3.24.1342. В момент подписи выдает ошибку: Ошибка интерфейса модуля криптографии. Указан не верный алгоритм. Какой алгоритм не понятно, но опытным путем выявил, что если явно не указывать алгоритм хэширования, то менеджер подпишет с хэшем SHA-1.

Платформенный менеджер криптографии, в версии платформы 8.3.24 доработан, у него появились новые свойства:
ОпределениеАлгоритмаХеширования и ОпределениеАлгоритмаШифрования.

Если в отладке посмотреть соответствие ОпределениеАлгоритмаХеширования, то видно что для алгоритма подписи RSA ("1.2.840.113549.1.1.1"), доступны алгоритмы хэширования: SHA-256 ("2.16.840.1.101.3.4.2.1") и SHA-1 ("1.3.14.3.2.26"). Но если указывать явно, то получаю ошибку, если не указывать, SHA-256 пропускает, хотя у него выше приоритет и подписывает SHA-1.

Ни у кого нет никаких идей?

Прикрепленные файлы:

sign_1.png
sign_2.png
sign_3.png
ПубликацииМастер-класс SonarQube. В омут с головой#107 25.12.23 16:24
Добрый день!
Настроил у себя все как в статье, мне нужна простая схема: Конвертировать хранилище при помощи gitsync в git и анализировать проект в sonarqube. Столкнулся со следующими нюансами:
1. Когда я делаю коммит, то все изменения конфигурации в sonarqube, падают на автора - текущая учетная запись ОС и почта, которая к ней привязана. Причем я такого пользователя в sonarqube не добавлял.
2. После полной инкрементальной выгрузки всего хранилища (выгружал хранилище расширение, оно выгружается довольно быстро), не делаю коммит, сразу запускаю анализ. После анализа в сонаркуб я вижу всех авторов, все хорошо. Но при выгрузке следущего коммита из хранилища, абсолютно все изменения падают на автора последнего коммита.

Отсюда вопрос. Чтобы сконвертировать всё хранилище в гит, при помощи gitsync, нужно после каждой выгрузки делать коммит? Как можно автоматизировать эти действия? И как быть с первым пунктом, когда изменения в sonarqube падают на того автора, кто делал коммит?
DevПрисоединенная электронная подпись#7 18.12.23 22:39
(1)Удалось решить проблему?
ВК001. Криптография и цифровая подпись RSA-sha256 на платформе 1С#90 17.12.23 22:53
(89) А возможно ли при помощи System.Security.Cryptography.RSACryptoServiceProvider создать прикрепленную?
У меня есть необходимость подписать строку JSON по алгоритму RSA SHA-256. Чтобы получился итоговый контейнер pkcs7, который будет включать в себя исходные данные, подпись и сертификат. При помощи менеджера криптографии у меня получилось сделать так, но подпись так же открепленная, а нужно прикрепленную:

Код
 МенеджерКриптографии = Новый МенеджерКриптографии("Microsoft Enhanced RSA and AES Cryptographic Provider", "", 24);
    МенеджерКриптографии.АлгоритмХеширования = "SHA-256";
    МенеджерКриптографии.АлгоритмПодписи = "RSA_SIGN";
    
    Хранилище = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
    СписокСертфикатов = Хранилище.ПолучитьВсе();
    
    Сертификат = Хранилище.НайтиПоОтпечатку(ПолучитьДвоичныеДанныеИзHexСтроки("d9be17330c698c1d7b7a43f9fc93bca*********"));
    
    СтрокаJSON = ПолучитьСтрокуJSON();
    
    JsonДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки(СтрокаJSON);
    
    Подпись = МенеджерКриптографии.Подписать(JsonДвоичныеДанные, Сертификат);
    
    ПодписьBase64 = Base64Строка(Подпись);


Не подскажите каким способом можно подписать исходные данные чтобы в итоге получилась прикрепленная подпись?
DevПрисоединенная ЭЦП средствами платформы#5 17.12.23 18:37
(4)Не подскажите как при помощи БСП сформировать прикрепленную подпись по алгоритму RSA SHA-256?
ВК001. Криптография и цифровая подпись RSA-sha256 на платформе 1С#88 17.12.23 16:23
(68)
Цитата

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

SafeArrayBinХешДляПодписи = SafeИзДвоичных(Хеш);
SafeArrayBinПодписьДвоичная = КрПровайдер.SignHash(SafeArrayBinХешДляПодписи, "SHA256");
ПодписьДвоичная = ДвоичныеИзSafe(SafeArrayBinПодписьДвоичная);

Подскажите пожалуйста, подпись формируется открепленная или прикрепленная? Не нашел в описании RSACryptoServiceProvider параметр, который бы указывал на это.
DevПодписание по алгоритму RSA#1 15.12.23 10:12
Всем привет.

Стоит задача, подписать строку JSON.
Алгоритму RSA;
Алгоритм хэширования SHA-256;
Формат контейнера: PKCS#7;
Закодировать подпись в Base64.

Для подписи используется сертификат.

При этом, подпись должна быть прикрепленная. Что удалось сделать:

Код
   МенеджерКриптографии = Новый МенеджерКриптографии("Microsoft Enhanced RSA and AES Cryptographic Provider", "", 24);
   МенеджерКриптографии.АлгоритмХеширования = "SHA-256";
   МенеджерКриптографии.АлгоритмПодписи = "RSA_SIGN";
   
   Хранилище = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
   СписокСертфикатов = Хранилище.ПолучитьВсе();
   
   Сертификат = Хранилище.НайтиПоОтпечатку(ПолучитьДвоичныеДанныеИзHexСтроки("d9be17330c698c1d7b7a43f9fc93bca*********"));
   
   СтрокаJSON = ПолучитьСтрокуJSON();
   
   JsonДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки(СтрокаJSON);
   
   Подпись = МенеджерКриптографии.Подписать(JsonДвоичныеДанные, Сертификат);
   
   ПодписьBase64 = Base64Строка(Подпись);
   
   Сообщить(ПодписьBase64);


При выполнении данного кода, подпись формируется, но открепленная. Возможно механизмами платформы сформировать прикрепленную подпись? Если нет, библиотека System.Security.Cryptography.RSACryptoServiceProvider умеет это делать?

Поделитесь пожалуйста идеями и если есть наработками, с подобной задачей сталкиваюсь впервые.
ПубликацииРасширение "Система взаимодействия"#3 19.12.21 23:07
(2)Спасибо за ответ! Посмотрел Вашу реализацию отправки уведомления для нового документа. Я делал это при записи, когда уже есть ссылка, но вешал много условий проверки заполнения реквизитов. Ну это не суть...
Вы меня немного не поняли, Вы реализовывали перенаправление задачи? Когда нужно оповестить и автора и нового исполнителя?
Выбрали нового исполнителя, нажали перенаправить, сначала создается новый документ - мы оповещаем нового исполнителя, а затем перезаписывается старый и мы оповещаем автора что документ перенаправлен. Так вот сообщение уходит только автору, по старому документу. Если просто создание задачи, ее выполнение или принятие, все уходит без проблем т.е. когда выполняется только одно действие.
ПубликацииРасширение "Система взаимодействия"#1 18.12.21 16:27
Добрый день! Взял Вашу разработку за основу, так как была похожая задача. Мне нужно реализовать оповещения при Перенаправлении задачи. При перенаправлении работает следующая схема, все это срабатывает в одной транзакции:
1. Создается новая задача на нового пользователя - при записи я отправляю на него оповещение, о том что создана новая задача.
2. Старая задача перезаписывается, и автору так же отправляется сообщение о том что задача была перенаправлена.

Так вот проблема в том, что сообщение появляется только у автора задачи - то есть у последнего пользователя, которому я послал сообщение. У первого сообщение так же появится, но только после того, как он перезапустит сеанс.

Не знаете как решить проблему?