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

ТЕМА: XMLDSIG на Linux

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

  • devops
  • Новый участник
  • Постов: 9
  • Репутация: 0
Добрый день!

Мне удалось выполнить свою задачу, при этом возникли некоторые трудности.
Выяснилось, что библиотеку libkncagost.so нужно положить в папку "/home/ai/sdk/linux64dynamic/lib/engines/libkncagost.so", чтобы она была найдена при запуске программы

Код программы:
#include <stdlib.h>
#include <stdio.h>
#include <openssl/engine.h>
#include <openssl/ssl.h>
#include <openssl/err.h>

int main() {
    ENGINE_load_builtin_engines();
    OpenSSL_add_all_algorithms();
    ENGINE_register_all_pkey_asn1_meths();

    ENGINE *eng = ENGINE_by_id("kncagost");
    int rc = 0;

    rc = ENGINE_init(eng);
    if (0 == rc) {
       printf("ENGINE_init failed\n");
       ERR_print_errors_fp(stderr);
       abort();
    }

    return 0;
}


Компиляция:
gcc -o app example.c -I`pwd`/include -L`pwd` -lcrypto -L`pwd`/engines -lkncagost


Запуск:
LD_PRELOAD=`pwd`/libcrypto.so ./app 


Вывод:
ENGINE_init failed
139783884961432:error:25066067:lib(37):func(102):reason(103):dso_dlfcn.c:187:filename(/home/ai/sdk/linux64dynamic/lib/engines/libkncagost.so): /home/ai/sdk/linux64dynamic/lib/engines/libkncagost.so: cannot open shared object file: No such file or directory
139783884961432:error:25070067:lib(37):func(112):reason(103):dso_lib.c:244:
139783884961432:error:260B6084:lib(38):func(182):reason(132):eng_dyn.c:450:
139783884961432:error:2606A074:lib(38):func(106):reason(116):eng_list.c:417:id=kncagost
139783884961432:error:26077043:lib(38):func(119):reason(67):eng_init.c:126:
Aborted (core dumped)


Предлагаю следующие варианты решения проблем:
* Добавить переменную окружения KNCA_GOST_ENGINE_PATH, в которую пользователи SDK смогут задать путь к папке криптопровайдера

* Добавить требуемые параметры компиляции ("-fPIC") для статичной бибблиотеки, чтобы обеспечить ее совместную компиляцию с динамичными билиотеками для использования в механизме ruby extensions.
( www.quora.com/When-exactly-should-I-use-GCCs-fPIC-option)

* Добавить инструкции по подключению движка крипторовайдера к установленному в систему OpenSSL
Изменено: 2 года, 8 мес. назад от devops.

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

  • devops
  • Новый участник
  • Постов: 9
  • Репутация: 0
Можете дать ответ на предыдущее сообщение?
  • Страница:
  • 1
  • 2
  • 3
FaLang translation system by Faboba