[GOST2015-TEST] Информация о среде сборки для приложений использующих libkalkancryptwr-64.so

Добрый день,

Не могли бы Вы предоставить информацию о том, с чем нужно линковаться при использовании libkalkancryptwr-64.so, так как она довольно много всего требует ( objdump -T libkalkancryptwr-64.so.2.0.0 | grep "UND", банальные вещи опущены):

0000000000000000      D  *UND*	0000000000000000              dlclose
0000000000000000      D  *UND*	0000000000000000              dlopen
0000000000000000      DF *UND*	0000000000000000              lt_dlinit
0000000000000000      DF *UND*	0000000000000000              lt_dlopenext
0000000000000000      DF *UND*	0000000000000000              lt_dlexit
0000000000000000      D  *UND*	0000000000000000              dlsym
0000000000000000      D  *UND*	0000000000000000              dlerror
0000000000000000      D  *UND*	0000000000000000              dladdr
0000000000000000      DF *UND*	0000000000000000              lt_dlclose
0000000000000000      DF *UND*	0000000000000000              lt_dlsym

0000000000000000      D  *UND*	0000000000000000              SCardConnect
0000000000000000      D  *UND*	0000000000000000              SCardTransmit
0000000000000000      D  *UND*	0000000000000000              SCardEstablishContext
0000000000000000      D  *UND*	0000000000000000              SCardGetStatusChange
0000000000000000      D  *UND*	0000000000000000              SCardReleaseContext
0000000000000000      D  *UND*	0000000000000000              SCardDisconnect
0000000000000000      D  *UND*	0000000000000000              SCardListReaders

0000000000000000      D  *UND*	0000000000000000              libiconv
0000000000000000      D  *UND*	0000000000000000              libiconv_close
0000000000000000      D  *UND*	0000000000000000              libiconv_open

0000000000000000      D  *UND*	0000000000000000              COMP_CTX_free
0000000000000000      D  *UND*	0000000000000000              CT_POLICY_EVAL_CTX_set1_cert
0000000000000000      D  *UND*	0000000000000000              COMP_get_name
0000000000000000      D  *UND*	0000000000000000              SRP_Calc_A
0000000000000000      D  *UND*	0000000000000000              SRP_get_default_gN
0000000000000000      D  *UND*	0000000000000000              SRP_Verify_A_mod_N
0000000000000000      D  *UND*	0000000000000000              BN_get_rfc3526_prime_8192
0000000000000000      D  *UND*	0000000000000000              SRP_Calc_u
0000000000000000      D  *UND*	0000000000000000              SRP_Calc_B
0000000000000000      D  *UND*	0000000000000000              CT_POLICY_EVAL_CTX_free
0000000000000000      D  *UND*	0000000000000000              EVP_enc_null
0000000000000000      D  *UND*	0000000000000000              CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
0000000000000000      D  *UND*	0000000000000000              SRP_create_verifier_BN
0000000000000000      D  *UND*	0000000000000000              COMP_compress_block
0000000000000000      D  *UND*	0000000000000000              COMP_expand_block
0000000000000000      D  *UND*	0000000000000000              COMP_CTX_get_method
0000000000000000      D  *UND*	0000000000000000              SRP_check_known_gN_param
0000000000000000      D  *UND*	0000000000000000              CT_POLICY_EVAL_CTX_set_time
0000000000000000      D  *UND*	0000000000000000              COMP_get_type
0000000000000000      D  *UND*	0000000000000000              SRP_Verify_B_mod_N
0000000000000000      D  *UND*	0000000000000000              COMP_CTX_new
0000000000000000      D  *UND*	0000000000000000              SRP_Calc_x
0000000000000000      D  *UND*	0000000000000000              SRP_Calc_server_key
0000000000000000      D  *UND*	0000000000000000              BN_get_rfc3526_prime_3072
0000000000000000      D  *UND*	0000000000000000              CT_POLICY_EVAL_CTX_set1_issuer
0000000000000000      D  *UND*	0000000000000000              CT_POLICY_EVAL_CTX_new

0000000000000000      D  *UND*	0000000000000000              floor
0000000000000000      D  *UND*	0000000000000000              fmod
0000000000000000      D  *UND*	0000000000000000              pow
0000000000000000      D  *UND*	0000000000000000              log10

0000000000000000      D  *UND*	0000000000000000              xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass
0000000000000000      D  *UND*	0000000000000000              xmlSecOpenSSLTransformGostR3411_94GetKlass

0000000000000000      D  *UND*	0000000000000000              lstrlen

В частности особый интерес вызывает lstrlen, так как это специфическая функция WIN32 API - https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-lstrlena

Здравствуйте! Спасибо за Ваше замечание! Мы их рассмотрим. И в случае необходимости внесем изменения.
Протестировав на свежем Linux, предварительно установив только g++, при запуске теста линковались только с libdl

Добрый день, @Daniyar.

Попробовали выполнять test с новой библиотекой libkalkancryptwr-64.so.2.0.0 и текущими тестовыми ключами ГОСТ (не из GOST2015-TEST), при выборе Подписать XML - 7 / 2 - XML без штампа времени получаем ошибку:

./xml: symbol lookup error: ./libkalkancryptwr-64.so: undefined symbol: xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass

Видимо xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass все-таки не хватает.

Добрый вечер, @vsenko

Да, уже увидели и исправили у себя. Спасибо за обратный связь. В следующем обновлении SDK включим это и другие исправления.

В следующем обновлении SDK включим это и другие исправления.

@Daniyar, подскажете по срокам? Было бы хорошо хотя бы на следующей неделе - сейчас очень не удобно заниматься разработкой.

@vsenko, обновим к концу следующей недели

Спасибо, в libkalkancryptwr-64.so.2.0.1 проблем с недостающими функциями XML нет.