• Страница:
  • 1
  • 2
  • 3

ТЕМА: XMLDSIG на Linux

XMLDSIG на Linux 2 года, 9 мес. назад #2714

  • devops
  • Новый участник
  • Постов: 9
  • Репутация: 0
Добрый день!
Есть задача - подписывать XML по формату XMLDSIG используя кринтопровайдер НУЦ РК (алгоритмы серии ГОСТ 34). ОС Linux, язык разработки - Ruby, инструментарий разработчика НУЦ РК SDK 2.0.
Я нашел пример реализации XMLDSIG на руби, и теперь мне нужно вычислить даджест и выполнить подпись элемента SignInfo. И мне нужно как то вызвать методы криптопровайдера НУЦ РК. Я просмотрел все файлы, но не разобрался как это сделать.

Я предполагаю, что у меня есть варианты:
  • использовать библиотеки на Java из SDK

  • использовать библиотеки (также из SDK) для Linux


  • Для проекта выгодней было бы подключить бинарную библиотеку, обернув ее в руби адаптер, но не понятно какая из библиотек содержит нужную мне функциональность.

    Вопросы:
    1. Какие файлы входящие в SDK2 являются криптопровайдером?
    2. Как проверить, что бинарные файлы криптопровайдера не скопромитированы?
    3. Как получить консультацию от разработчика криптопровайдера?
    4. Видел сообщение на форуме, что SDK обновился в понедельник 14 ноября, а как узнать список изменений (changelog)?
    5. Дайте, пожалуйста, ссылку на документацию, если есть?

    Re: XMLDSIG на Linux 2 года, 9 мес. назад #2720

    • ugotbug
    • Завсегдатай
    • Постов: 225
    • Репутация: 14
    Добрый день.

    Скорее всего, в Ruby проекте вам нужна СИшная библиотека. Враппер для нее вам придется писать самим.
    В комплекте разработчика библиотека криптопровайдера для ОС Linux называется libcrypto.so (динамическая) и libcrypto.a (статическая). Эти библиотеки основаны на исходном коде проекта OpenSSL, в котором, к сожалению, отсутствует поддержка подписи и проверки XML файлов. Такую подпись необходимо выполнять с использованием сторонних библиотек, например XMLSec ( www.aleksey.com/xmlsec/). Возможно, эту библиотеку необходимо будет патчить, для взаимодействия с библиотекой криптопровайдера. Необходимые для сборки библиотеки XMLSec заголовочные файлы криптопровайдера, расположены в SDK.

    Ответы на ваши вопросы:

    1. Какие файлы входящие в SDK2 являются криптопровайдером?
    Следующие файлы:
    a) Криптопровайдер KalkanCrypt-C (модифицированная версия OpenSSL) - фaйл libeay32 (Windows) и libcrypto (Linux) в различных вариантах сборки;
    b) Криптопровайдер KalkanCrypt-Java - файлы kalkancrypt-0.1.1.jar и kalkancrypt_xmldsig-0.2.jar
    с) Криптопровайдер KalkanCrypt-COM (высокоуровневая библиотека-обертка над KalkanCrypt-C, реализованная по технологии COM) - файл KalkanCryptCOM.dll

    2. Как проверить, что бинарные файлы криптопровайдера не скопромитированы?
    В среде ОС Windows практикуют защиту библиотек посредством ее подписания. В ОС Linux нет возможности защиты бинарных файлов.

    3. Как получить консультацию от разработчика криптопровайдера?
    форум, рассылка, тел. звонок в крайнем случае

    4. Видел сообщение на форуме, что SDK обновился в понедельник 14 ноября, а как узнать список изменений (changelog)?
    Мы будем публиковать новость об обновлении SDK. Чейнджлог будет внутри SDK

    5. Дайте, пожалуйста, ссылку на документацию, если есть?
    Все что есть, внутри SDK. Поскольку криптопровайдер KalkanCrypt-C основан на модифицированной версии OpenSSL, то он на 99,9% совместим с его API.
    Могущественный обладатель кольца Знаний
    Спасибо сказали: devops

    Re: XMLDSIG на Linux 2 года, 8 мес. назад #2724

    • devops
    • Новый участник
    • Постов: 9
    • Репутация: 0
    Спасибо, получилось воспользоваться СИшной библиотекой.

    Еще хочу спросить, у вас есть контрольные примеры хэширования по ГОСТ 34.311-95, который используется в криптопровайдере?
    Вида "хэш от строки 'тест' равен '0123...'" и т.п..

    Re: XMLDSIG на Linux 2 года, 8 мес. назад #2726

    • ololo
    • Живу я здесь
    • Постов: 464
    • Репутация: 57
    www.sha1-online.com
    укажите gost для алгоритма
    gg wp

    Re: XMLDSIG на Linux 2 года, 8 мес. назад #2733

    • devops
    • Новый участник
    • Постов: 9
    • Репутация: 0
    Сравнил результаты хэширования строки "abc" от сайта sha1-online.com и Википедией (скриншоты в приложениях) и результаты, полученные от криптопровайдера по всем трем найденным алгоритмам ГОСТ:

    "md_gost94" => b28556dbf18d7392d7677369524dd14747459ed8143997e163b2986f92fd42c
    "md_gostold95" => f3134348c44fb1b2a277729e2285ebb5cb5ef29c975bc753b70497c6a4d51d
    "md_gost95" => f3134348c44fb1b2a277729e2285ebb5cb5ef29c975bc753b70497c6a4d51d

    Это нужный результат хэширования?

    P.S. Пользуюсь СИшной статичной библиотекой для Linux (x64)

    Re: XMLDSIG на Linux 2 года, 8 мес. назад #2734

    • ololo
    • Живу я здесь
    • Постов: 464
    • Репутация: 57
    последние два верные
    gg wp
    • Страница:
    • 1
    • 2
    • 3
    FaLang translation system by Faboba