20 апреля, пятница 12:03
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

Переход на новую технологию сбора отчетности

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • #31
    Кто - то повторил подвиг Antonioki?

    Все делаю "по чертежам", ответ "Неверная длина блока памяти"

    Не пойму, в чем дело...

    IK Soft

    Комментарий


    • #32
      Прошу прощения, в процессе реализации тоже наступил на те же грабли. Смысл грабель в следующем.

      В канонизации нужно проводить сортировку имен параметров тегов по возрастанию, посмотрите на файлы сообщения и квитанции после применения утилиты xmlstar, а также в примерах (см ниже следующее сообщение) пофиксил описание. Оригиналы прицепил в zip, можете сравнить с примерами.

      P.S. Уже реализовал формирование конверта, подписи и проверку подписи конверта. Все ок.
      Вложения
      Последний раз редактировалось Antonioki; 12.04.2017, 19:08.

      Комментарий


      • #33
        "Затычка" по нормализации и канонизации выглядит следующим образом.
        1. Удаляем <?xml version="1.0" encoding="windows-1251"?>
        2. Тэги вида <tag parameter="value" /> приводим к виду <tag parameter="value"></tag>, параметры тегов сортируем в порядке возрастания имен.
        3. Перекодируем в UTF-8

        нормализация и канонизация завершены

        4. Магическое действие: удаляем все пробелы и переводы строк между тегами, т.е. весь TK должен быть представлен в одной строке (переводов строк вобще быть не должно, даже в самом конце строки).
        5. Удаляем последнюю КА (тэг <КА>sigValue</КА>) из пакета (предварительно сохранив в файл декодированное base64 значение подписи) и проверяем подпись для получившейся строки.

        Счастье есть!

        Для подписи ТК также используем нормализованный и канонизированный вид ТК с магическим действием. Тэг КА с подписью в base64 добавляем перед закрытием тега ТК. Можно начинать процесс автоматизации.

        P.S.

        Пример нормализованного и канонизированного ТК (для отправки) для проверки подписи под ним:
        Код:
        <ТК xmlns="urn:cbr-ru:tk:v1.3" ДатаВремяТК="2017-04-05T20:46:40" ИмяЗадачи="МПСО" ОтправительТК="КО.3475/0" ПолучательТК="ТУ.45" УникИдТК="52de3828-9228-44d9-b42a-d326b5d5b36e"><ЧастьПакета КоличЧастей="1" НомерЧасти="1" УникИдПакета="62799e8d-2b30-4507-8941-c1a68270cbed"></ЧастьПакета><ДанныеТК ИдДанныхТК="1"><ЭС ВидОрг="КО" ИмяФайлаЭС="F0409101_KO-3475_2017-04-05T19-51-00.xml" КодОрг="3475" КодЭС="Ф0409101" Содержит="ОЭС" УникИдЭС="46dd697c-cfd4-46e4-b907-c6b96fb6b07f" ФорматЭС="XML" ШифрованиеЭС="Верба">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</ЭС><КА УстановленКА="Верба">bzAwMDAwMFNGpcHnVqM73lcyxlSUYSzCZLM3/irBR6rVVimQQbn67n+JnoPLJL9b8mcKQtx5F3H4VxJuUr0PKhiN4WhKSJY0NzE2OTQxMDQ1MDGBLeVYnZaPeG1sAZfXAAA=</КА></ДанныеТК></ТК>
        Пример нормализованного и канонизированного ТК (квитанции) для проверки подписи под ним:
        Код:
        <ТК xmlns="urn:cbr-ru:tk:v1.3" ДатаВремяТК="2017-04-05T20:47:31" ИмяЗадачи="МПСО" ОтправительТК="ТУ.45" ПолучательТК="КО.3475/0" УникИдТК="df9c3cc2-5f8e-439e-a0da-a523f75c60cc"><ЧастьПакета КоличЧастей="1" НомерЧасти="1" УникИдПакета="62799e8d-2b30-4507-8941-c1a68270cbed"></ЧастьПакета><ДанныеТК ИдДанныхТК="1"><ЭС ВидОрг="КО" ИмяФайлаЭС="F0409101_KO-3475_2017-04-05T19-51-00.xml" КодОрг="3475" КодЭС="0409101" Содержит="ИЭС1" УникИдЭС="78E47804-1B3C-49C2-9D7F-E922ED0242C9" ФорматЭС="XML" ШифрованиеЭС="Нет">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUxIj8+PMjd0TEg0+3o6sjkyN3RPSJkNTU0M2Y2Zi05ZGVkLTRlOGYtYTJjYy1jOWZmY2RlMTEzNDMiIMTg8uDC8OXs/8ru7fLw7uv/PSIyMDE3LTA0LTA1VDIwOjQ4OjEzIiDK7uTQ5efK7u3y8O7r/z0iMiIg0OXnyu7t8vDu6/89Is/u5Ovo7e3u8fL8IOgg9uXr7vHy7e7x8vwgzt3RIO3lIO/u5PLi5fDm5OXt4C4gzt3RIO3lIO/w6O3/8iDiIO7h8ODh7vLq8y4gwiDx7u7h+eXt6Ogg7vLx8/Lx8uLz5fIgYMru5NLTYCIg0+3o6sjk0so9IjUyZGUzODI4LTkyMjgtNDRkOS1iNDJhLWQzMjZiNWQ1YjM2ZSIgyOTE4O3t+/XSyj0iMSIgeG1sbnM9InVybjpjYnItcnU6aWVzMTp2MS4xIj480OXq4s7d0SDP5fDo7uTo9+3u8fL8PSLt5fDl4/Pr//Dt4P8iIMLo5M7w4z0iys4iIMru5M7w4z0iMzQ3NS8wIiDE4PLgwvDl7P/Q5ePo8fLw4Pbo6D0iMjAxNy0wNC0wNVQyMDo0NzozMSIg0+3o6sjkzt3RPSI3OEU0NzgwNC0xQjNDLTQ5QzItOUQ3Ri1FOTIyRUQwMjQyQzkiIC8+PC/I3dExPg==</ЭС><КА УстановленКА="Верба">bzAwMDAwMFNGpcHnVqM73lcyxlSUYSzCZLM3/irBR6rVVimQQbn67n+JnoPLJL9b8mcKQtx5F3H4VxJuUr0PKhiN4WhKSJY0NzE2OTQxMDQ1MDGBLeVYnZaPeG1sAZfXAAA=</КА><КА УстановленКА="Верба">bzAwMDAwMOsdEiVcws1ASP8sLaAEAyw0DDt435YEUQPE1IPjrJBOSkOT9+2bZzXX4nNEt/Wj+BSQ8kKVOoQ4dBrg5xrOfecwMjAwOTQxMDQ1MDHnLeVYnZaPTUVNARoCAAA=</КА><Регистрация ДатаВремяРегистрИсхТК="2017-04-05T20:47:31" ИдДанныхИсхТК="1" ОтправительИсхТК="КО.3475/0" ПредставленВ="ТУ.45" СпособПредставления="электронный" УникИдИсхТК="52de3828-9228-44d9-b42a-d326b5d5b36e"></Регистрация></ДанныеТК></ТК><ТК xmlns="urn:cbr-ru:tk:v1.3" ДатаВремяТК="2017-04-05T20:47:31" ИмяЗадачи="МПСО" ОтправительТК="ТУ.45" ПолучательТК="КО.3475/0" УникИдТК="df9c3cc2-5f8e-439e-a0da-a523f75c60cc"><ЧастьПакета КоличЧастей="1" НомерЧасти="1" УникИдПакета="62799e8d-2b30-4507-8941-c1a68270cbed"></ЧастьПакета><ДанныеТК ИдДанныхТК="1"><ЭС ВидОрг="КО" ИмяФайлаЭС="F0409101_KO-3475_2017-04-05T19-51-00.xml" КодОрг="3475" КодЭС="0409101" Содержит="ИЭС1" УникИдЭС="78E47804-1B3C-49C2-9D7F-E922ED0242C9" ФорматЭС="XML" ШифрованиеЭС="Нет">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUxIj8+PMjd0TEg0+3o6sjkyN3RPSJkNTU0M2Y2Zi05ZGVkLTRlOGYtYTJjYy1jOWZmY2RlMTEzNDMiIMTg8uDC8OXs/8ru7fLw7uv/PSIyMDE3LTA0LTA1VDIwOjQ4OjEzIiDK7uTQ5efK7u3y8O7r/z0iMiIg0OXnyu7t8vDu6/89Is/u5Ovo7e3u8fL8IOgg9uXr7vHy7e7x8vwgzt3RIO3lIO/u5PLi5fDm5OXt4C4gzt3RIO3lIO/w6O3/8iDiIO7h8ODh7vLq8y4gwiDx7u7h+eXt6Ogg7vLx8/Lx8uLz5fIgYMru5NLTYCIg0+3o6sjk0so9IjUyZGUzODI4LTkyMjgtNDRkOS1iNDJhLWQzMjZiNWQ1YjM2ZSIgyOTE4O3t+/XSyj0iMSIgeG1sbnM9InVybjpjYnItcnU6aWVzMTp2MS4xIj480OXq4s7d0SDP5fDo7uTo9+3u8fL8PSLt5fDl4/Pr//Dt4P8iIMLo5M7w4z0iys4iIMru5M7w4z0iMzQ3NS8wIiDE4PLgwvDl7P/Q5ePo8fLw4Pbo6D0iMjAxNy0wNC0wNVQyMDo0NzozMSIg0+3o6sjkzt3RPSI3OEU0NzgwNC0xQjNDLTQ5QzItOUQ3Ri1FOTIyRUQwMjQyQzkiIC8+PC/I3dExPg==</ЭС><КА УстановленКА="Верба">bzAwMDAwMFNGpcHnVqM73lcyxlSUYSzCZLM3/irBR6rVVimQQbn67n+JnoPLJL9b8mcKQtx5F3H4VxJuUr0PKhiN4WhKSJY0NzE2OTQxMDQ1MDGBLeVYnZaPeG1sAZfXAAA=</КА><КА УстановленКА="Верба">bzAwMDAwMOsdEiVcws1ASP8sLaAEAyw0DDt435YEUQPE1IPjrJBOSkOT9+2bZzXX4nNEt/Wj+BSQ8kKVOoQ4dBrg5xrOfecwMjAwOTQxMDQ1MDHnLeVYnZaPTUVNARoCAAA=</КА><Регистрация ДатаВремяРегистрИсхТК="2017-04-05T20:47:31" ИдДанныхИсхТК="1" ОтправительИсхТК="КО.3475/0" ПредставленВ="ТУ.45" СпособПредставления="электронный" УникИдИсхТК="52de3828-9228-44d9-b42a-d326b5d5b36e"></Регистрация></ДанныеТК></ТК>

        Комментарий


        • #34
          Сообщение от IKSoft Посмотреть сообщение
          Кто - то повторил подвиг Antonioki?

          Все делаю "по чертежам", ответ "Неверная длина блока памяти"

          Не пойму, в чем дело...
          Отпишитесь о результатах трудов для статистики плиз.

          Комментарий


          • #35
            Сообщение от Antonioki Посмотреть сообщение

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

            И вдруг увидел свой косяк (слава Отладке!)

            Файл, нормализованный, выгружался в файл на подпись не со своей длиной данных, а с длиной буфера, для него выделенного (с запасом)
            Исправил, отправил, поручил Tkvit c
            PHP код:
            <Пояснение></Пояснение
            Как Алена сказала, это принято и расшифровано успешно
            Завтра должны прийти 2 отбойки

            Лишь бы счастие не спугнуть

            (все делал через API)
            IK Soft

            Комментарий


            • #36
              Сообщение от IKSoft Посмотреть сообщение

              .....
              Как Алена сказала, это принято и расшифровано успешно
              Завтра должны прийти 2 отбойки

              Лишь бы счастие не спугнуть

              (все делал через API)
              Коллега, поздравляю. Я делал подпись не через API (лицензии на втраивание СКЗИ естественно нет) а через утилитку scsignex, которую ГТУ ЦБ распространяет.

              Комментарий


              • #37
                Antonioki

                Спасибо Вам, нормализацию я то делал, но вот что надо полностью удалять переводы кареток и отступы - это не в правилах c14n!
                WhiteSpace немного по-другому там трактуется.
                IK Soft

                Комментарий


                • #38
                  Вот предварительное исполнение
                  Пока по одному отчету, потом можно будет скопом или поиском в папке с Kliko, как сейчас работает с обычными отчетами.

                  http://www.aniva-ltd.ru/vedana_s/vds_oed_xml.shtml
                  IK Soft

                  Комментарий


                  • #39
                    Сообщение от IKSoft Посмотреть сообщение
                    Вот предварительное исполнение
                    Пока по одному отчету, потом можно будет скопом или поиском в папке с Kliko, как сейчас работает с обычными отчетами.

                    http://www.aniva-ltd.ru/vedana_s/vds_oed_xml.shtml
                    /me Пора задуматься о роялти на ресечь :

                    Комментарий


                    • #40
                      Коллеги, кто-нибудь реализовывал обработку квитанций? Получаю квитанцию, а в ней две подписи под ЭС. Проверка первой - результат отрицательный проверка второй - результат положительный. Внимание вопрос. Что за зверь первая подпись?
                      Код:
                      <ДанныеТК ИдДанныхТК="1">
                      
                      <ЭС УникИдЭС="78E47804-1B3C-49C2-9D7F-E922ED0242C9" КодОрг="3475" ВидОрг="КО" КодЭС="0409101" ИмяФайлаЭС="F0409101_KO-3475_2017-04-05T19-51-00.xml" ШифрованиеЭС="Нет" ФорматЭС="XML" Содержит="ИЭС1">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUxIj8+PMjd0TEg0+3o6sjkyN3RPSJkMjg2MWY4Yi01MmNkLTQxYjYtODljZC01ZDMzYjZjZjM0MTgiIMTg8uDC8OXs/8ru7fLw7uv/PSIyMDE3LTA0LTA1VDIwOjAzOjExIiDK7uTQ5efK7u3y8O7r/z0iMiIg0OXnyu7t8vDu6/89Is/u5Ovo7e3u8fL8IOgg9uXr7vHy7e7x8vwgzt3RIO3lIO/u5PLi5fDm5OXt4C4gzt3RIO3lIO/w6O3/8iDiIO7h8ODh7vLq8y4gwiDx7u7h+eXt6Ogg7vLx8/Lx8uLz5fIgYMru5NLTYCIg0+3o6sjk0so9ImEyYzljNDIyLTRhYTgtNGQ5OS04N2IxLTE5NDI1NWUzNjhjNiIgyOTE4O3t+/XSyj0iMSIgeG1sbnM9InVybjpjYnItcnU6aWVzMTp2MS4xIj480OXq4s7d0SDP5fDo7uTo9+3u8fL8PSLt5fDl4/Pr//Dt4P8iIMLo5M7w4z0iys4iIMru5M7w4z0iMzQ3NS8wIiDE4PLgwvDl7P/Q5ePo8fLw4Pbo6D0iMjAxNy0wNC0wNVQyMDowMjowNyIg0+3o6sjkzt3RPSI3OEU0NzgwNC0xQjNDLTQ5QzItOUQ3Ri1FOTIyRUQwMjQyQzkiIC8+PC/I3dExPg==</ЭС>
                      
                      <КА УстановленКА="Верба">bzAwMDAwMASk9/kkEbX53hh9FS5COadkwgRaHdq5dlNKn95lcYQZ8lbfIEsuerSjqjwuLYFwM3ZX+uZqw1y3ZgsFW2A2WWM0NzE2OTQxMDQ1MDHdIuVYnZaPeG1sAZfXAAA=</КА>
                      
                      <КА УстановленКА="Верба">bzAwMDAwMGO8mp29OnD2J1BFXhl9OH0EIaaDIvpLtYRMYaM9O7d/SV+mrJ/2wzIVHubbgscY2jY2jcPyL0kYnaOfnxihfj0wMjAwOTQxMDQ1MDFXI+VYnZaPTUVNARoCAAA=</КА>
                      
                      <Регистрация ИдДанныхИсхТК="1" УникИдИсхТК="a2c9c422-4aa8-4d99-87b1-194255e368c6" СпособПредставления="электронный" ДатаВремяРегистрИсхТК="2017-04-05T20:02:07" ОтправительИсхТК="КО.3475/0" ПредставленВ="ТУ.45"/>
                      
                      </ДанныеТК>

                      Комментарий


                      • #41
                        Технологический конверт должен содержать один или несколько блоков ДанныеТК. Каждый блок должен содержать один элемент ЭС и может содержать один (или два) кода аутентификации (КА) на ЭС. Вариант без КА может быть использован для передачи ЭС в наследуемых форматах, в которых КА присоединяется к самому файлу ЭС.
                        ....
                        Для элемента КА на ЭС разрешено повторение, для случая, если кроме КА от КО, на ЭС устанавливается КА удостоверяющего центра. Для КА на ТК повторения отсутствуют.
                        ....

                        ЗЫЖ Без официально опубликованных форматов все это, собранное "на коленках", довольно сомнительная затея. Если завтра что-то поменяется, то вся работа встанет колом.

                        Комментарий


                        • #42
                          Для сведения:
                          ИЭС1 и ИЭС2 при положительном исходе никому еще не слали

                          слали только ИЭС1 , если с конвертом неполадки.

                          т е , если от ТУ положительная отбойка и дня два не приходила отрицательная ИЭС1,
                          то считаем, что тест пройден.
                          IK Soft

                          Комментарий


                          • #43
                            половина тестовых форм генерят xml нулевой длины, по телефону сказали, что это из за 64 разрядной винды - будут исправлять

                            Комментарий


                            • #44
                              Сообщение от КрасКрипт Посмотреть сообщение
                              Технологический конверт должен содержать один или несколько блоков ДанныеТК. Каждый блок должен содержать один элемент ЭС и может содержать один (или два) кода аутентификации (КА) на ЭС. Вариант без КА может быть использован для передачи ЭС в наследуемых форматах, в которых КА присоединяется к самому файлу ЭС.
                              ....
                              Для элемента КА на ЭС разрешено повторение, для случая, если кроме КА от КО, на ЭС устанавливается КА удостоверяющего центра. Для КА на ТК повторения отсутствуют.
                              ....

                              ЗЫЖ Без официально опубликованных форматов все это, собранное "на коленках", довольно сомнительная затея. Если завтра что-то поменяется, то вся работа встанет колом.
                              А без реализации вся автоматизация прахом идет.
                              С подписями разобрался с обеими, прикольно.

                              Комментарий


                              • #45
                                Сообщение от КрасКрипт Посмотреть сообщение
                                .........ЗЫЖ Без официально опубликованных форматов все это, собранное "на коленках", довольно сомнительная затея. Если завтра что-то поменяется, то вся работа встанет колом.
                                Так в некоторых банках и так, при использовании штатного ПО, 80% отчетов в XML не формируются.

                                И было бы еще лучше, если бы все потуги наших мега- и просто регуляторов по использованию XML проходили бы в рамках рекомендаций W3C, а не так, когда под каждую их очередную поделку/реализацию всем разработчикам приходится гадать, что же там за очередная трансформация и как же там формируются подписи?!
                                А документация либо отсутствует в принципе, либо не соответствует реально формируемым файлам.
                                Последний раз редактировалось saches; 18.04.2017, 13:32.

                                Комментарий


                                • #46
                                  Сообщение от PowerMan Посмотреть сообщение
                                  половина тестовых форм генерят xml нулевой длины, по телефону сказали, что это из за 64 разрядной винды - будут исправлять
                                  В принципе такие формы можно поправить с помощью CorFlags.exe CnvKlikoXML.exe /32BITREQ+
                                  Тогда XML будет формироваться, но в ЦБ действительно обещали поправить для корректной работы на 64 разрядной Винде

                                  Комментарий


                                  • #47
                                    Звонил в ЦБ.
                                    Сказали, что у них нет разработчиков, вот и пишут такую гадость.
                                    Прямым текстом сказали.
                                    .

                                    Комментарий


                                    • #48
                                      это как так? попросили сына бухгалтера запилить прогу для ЦБ на школьном УПК?

                                      Комментарий


                                      • #49
                                        Сообщение от КрасКрипт Посмотреть сообщение
                                        это как так? попросили сына бухгалтера запилить прогу для ЦБ на школьном УПК?
                                        .
                                        Вот примерно так и есть...
                                        Нет разработчиков в ЦБ, нет технологов, нет тестировщиков...
                                        Как результат, такие кривые программы от ЦБ.
                                        .

                                        Комментарий


                                        • #50
                                          Коллеги,

                                          А кому-то приходили ИЭС1 и ИЭС2? Или ИЭС1 это теперь ТКвит, что транспортный конверт получен? По идее ещё же на файл формы должна быть ИЭС1.

                                          Комментарий


                                          • #51
                                            Сообщение от rvroman Посмотреть сообщение
                                            Коллеги,

                                            А кому-то приходили ИЭС1 и ИЭС2? Или ИЭС1 это теперь ТКвит, что транспортный конверт получен? По идее ещё же на файл формы должна быть ИЭС1.
                                            Должны быть. ТКвит - это не ИЭС1. Я звонил в апреле - сказали, что пока нет программы обработки, ИЭС будут позже, прогнозировать насколько позже - пока не могут, поскольку нет пока сколь-нибудь внятной инфы от разработчиков. А судя по замечаниям чуть выше в данной теме, разработчиков таки тоже нет.

                                            Комментарий


                                            • #52
                                              Сообщение от Jenyok Посмотреть сообщение
                                              Звонил в ЦБ.
                                              Сказали, что у них нет разработчиков, вот и пишут такую гадость.
                                              Прямым текстом сказали.
                                              .
                                              Если не секрет, Вы из какого региона?
                                              "Единственный способ научиться играть лучше - играть с более сильным соперником!"

                                              Комментарий


                                              • #53
                                                ТКвит и ИЭС этои логически и технологически разные вещи
                                                ТКвит:
                                                Квитанция должна направляться отправителю технологического конверта в случае, если обнаружены ошибки структуры конверта, КА конверта, шифрования вложений, структуры вложений, КА вложений.
                                                Независимо от количества блоков ДанныеТК, квитанция формируется на конверт в целом. Квитанция направляется отправителю электронного сообщения без технологического конверта.
                                                ИЭС1, ИЭС2:
                                                При обработке ЭС формируется два вида извещений в виде электронного сообщения: ИЭС1 и ИЭС2.
                                                Извещение ИЭС1 содержит результат контроля достоверности, целостности и формата ЭС и определяет статус полученных данных – ЭС принята/не принята в обработку.
                                                Извещения ИЭС2 формируются для данных, принятых в обработку (с положительным ИЭС1). ИЭС2 определяет результат семантического контроля данных ОЭС (арифметического, логического, номенклатурного, межформенного, хронологического). Повторные ИЭС2 могут содержать результаты решения экспертов ТУ и ЦА о соответствии/несоответствии отчетности требованиям Банка России.
                                                А по теме ИЭС - у нас пару раз присылали кривые ИЭС в кривых конвертах (как потом сказали "не должны были прийти. прислали случайно").
                                                Разбор показал что в полях КА (как на ЭС, так и на ТК) к подписи намотали куски левых ИЭС (причем даже не на исходный ТК). Сама ИЭС расшифровалась, но там тоже части xml не хватает, зато намотан кусок чего-то в PKCS#7
                                                По всей видимости тестирование и внедрение сильно и не педалируют из-за сырого софта

                                                Комментарий


                                                • #54
                                                  Коллеги, вопрос. Надо ли из подписи в отдельном файле убирать байты oD oA перед тем как преобразовывать pBase64?

                                                  Комментарий


                                                  • #55
                                                    Или уже из обработанного КА после pBase64 убирать перевод строки и возврат каретки?

                                                    Комментарий


                                                    • #56
                                                      Я имел в виду удаление перевод строки и возврат каретки не в самом конце, а походу обработки.

                                                      Комментарий


                                                      • #57
                                                        как Вы себе это представляете?
                                                        КА это бинарный ASN1 объект. куда там чего убирать

                                                        Комментарий


                                                        • #58
                                                          КрасКрипт
                                                          А это что? Ниже.. Отсюда можно убрать?
                                                          ;n4790131]bzAwMDAwMASk9/kkEbX53hh9FS5COadkwgRaHdq5dlNKn95lcYQZ8lbfIEsuerSjqjwuLYFwM3ZX+uZqw1y3ZgsFW2A2WWM0NzE2OTQxMDQ1MDHdIuVYnZaPeG1sAZfXAAA=

                                                          Комментарий


                                                          • #59
                                                            Сообщение от ValeryM Посмотреть сообщение
                                                            А это что? Ниже.. Отсюда можно убрать?......
                                                            Судя по всему, в качестве примера, Вы указали строку в Base64.
                                                            В множестве символов Base64, допустимыми являются только определенные "печатные" ASCII символы. Т.е. никаких <CR>, <LF> и т.п. там быть не должно. Символ[ы] '=' являются концевыми заполнителями.

                                                            С другой стороны, если Вы для себя пишите некую [под]программку для работы с Base64, ничто не мешает реализовать ее так, что бы все переводы строки при обработке игнорировались.

                                                            Комментарий


                                                            • #60
                                                              Для хохмы альтернативный способ быстрой автоматизации работы с MPSO_MSG.
                                                              Скрипт на VBS, который запускает программу и передает в неё определенные сочетания клавиш, разделяя их таймаутами.
                                                              Все файлы, положенные на отправку собираются в процессе обработки в один в вашей выходной папке. Если чуть дописать в начале и в конце скрипта дополнительные строки по включению/выключению ключей и перекладыванию входных/выходных файлов - может использоваться как временный вариант полного автомата. Возможно, придётся немного подстроить длительность таймаутов для вашей машины.

                                                              Примечание:
                                                              1.Сохранить код в файл с расширением .vbs в ту же папку, где лежит kliko_msg.exe.
                                                              2. Заменить в тексте "D:\MPSO_MSG\OUT" на вашу папку, куда кладете XML файлы
                                                              3. Положить туда XML файлы
                                                              4. Подготовить ключи для подписи/шифрования
                                                              5. Запустить скрипт. Прога запускается секунд 20, в которые кажется, что ничего не происходит - не дёргайте её в это время.

                                                              PHP код:
                                                              Option Explicit
                                                              Dim FSO
                                                              WshWshExecoFolderoFiles
                                                               Set FSO 
                                                              CreateObject("Scripting.FileSystemObject")
                                                               
                                                              Set oFolder=FSO.GetFolder("D:\MPSO_MSG\OUT"' папка, куда сложены XML для отправки. Изменить на свою.

                                                               If oFolder.Files.Count > 0 Then ' 
                                                              Если что-то там лежит...
                                                                 
                                                              ""
                                                                 
                                                              for each oFile in oFolder.Files   'Собираем имена файлов в одну строку с кавычками и пробелами
                                                                   s = s & """" & oFile.Name & """ "
                                                                 next
                                                                 Set Wsh = CreateObject("WScript.Shell")

                                                                 Set WshExec = Wsh.Exec("KlikoMsg.exe") '
                                                              Запускаем Kliko_MSGНаш скрипт в той же папке
                                                                 WScript
                                                              .Sleep 20000 'Ждем 20 секунд, пока загрузится прога. Доооолго, но что поделать?
                                                                 Wsh.AppActivate WshExec.ProcessID

                                                                 WScript.Sleep 1000
                                                                 Wsh.SendKeys "%"
                                                                 WScript.Sleep 100
                                                                 Wsh.SendKeys "{RIGHT}{ENTER 2}"
                                                                 WScript.Sleep 100
                                                                 Wsh.SendKeys "{TAB}"
                                                                 WScript.Sleep 100
                                                                 Wsh.SendKeys "{RIGHT}{ENTER}"
                                                                 WScript.Sleep 100
                                                                 Wsh.SendKeys "{TAB}{ENTER}"
                                                                 WScript.Sleep 1500

                                                                 Wsh.SendKeys s
                                                                 WScript.Sleep 100
                                                                 Wsh.SendKeys "{TAB 2}{ENTER}"
                                                                 WScript.Sleep 500
                                                                 Wsh.SendKeys "{ENTER}"
                                                                 WScript.Sleep 1200 * oFolder.Files.Count '
                                                              Ждем окончания подготовки файлов к отправке
                                                                 Wsh
                                                              .SendKeys "{ENTER}"
                                                                 
                                                              WScript.Sleep 500
                                                                 Wsh
                                                              .SendKeys "%{F4}"
                                                                 
                                                              WScript.Sleep 500
                                                                 Wsh
                                                              .SendKeys "%{F4}"
                                                                 
                                                              WScript.Sleep 100
                                                                 Wsh
                                                              .SendKeys "{ENTER}"
                                                                 
                                                              Wsh=null
                                                               End 
                                                              If
                                                              FSO=null 

                                                              Комментарий

                                                              Пользователи, просматривающие эту тему

                                                              Свернуть

                                                              Присутствует 1. Участников: 0, гостей: 1.

                                                              Обработка...
                                                              X