Системная ошибка: нулевой аргумент внутренней процедуры в xmlsec - PullRequest
1 голос
/ 17 июня 2020

Я пытаюсь реализовать SSO в приложении Django. У меня Ubuntu 16.04 OS, Apache и WSGI и python 3.5.2 Пакеты, которые я установил:

xlmsec 1.3.3
lxml 4.5.1
pkg-config 1.5.1
python3-saml 1.9.0

И все зависимости для xmlse c: libxmlsec1-dev libxml2-dev libxmlsec1-openssl

Мой сервер находится за прокси-сервером (у меня нет полного доступа к этому серверу) при попытке установить xlmse c> = 1.3.7 выдает ошибку подключения, поэтому я использовал 1.3.3 version.

После запуска следующей команды я получаю сообщение об ошибке:

python -c "import xmlsec"
func=xmlSecOpenSSLAppKeyLoadMemory:file=app.c:line=188:obj=unknown:subj=data != NULL:error=100:assertion:
func=xmlSecCheckVersionExt:file=xmlsec.c:line=185:obj=unknown:subj=unknown:error=19:invalid version:mode=exact;expected minor version=2;real minor version=2;expected subminor version=30;real subminor version=20
func=xmlSecOpenSSLInit:file=crypto.c:line=312:obj=unknown:subj=xmlSecCheckVersionExact:error=1:xmlsec library function failed:
func=xmlSecOpenSSLAppPkcs12Load:file=app.c:line=580:obj=unknown:subj=filename != NULL:error=100:assertion:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
SystemError: null argument to internal routine

Я не уверен, что это может быть связано с неправильными версиями или с проблемой xlmse c (я уже пытался откатиться к более старым версиям и возникла та же проблема).

1 Ответ

0 голосов
/ 19 июня 2020

Проблема была связана с установленной версией libxmlsec1 (пакет ubuntu) (версия была 1.2.20, а xmlse c требуется 1.2.30). Просто удалите старую версию и установите новую.

...