M2Crypto: AttributeError для load_dynamic_engine () - PullRequest
0 голосов
/ 03 февраля 2010

Я использую M2Crypto-0.20.2.Я хочу использовать engine_pkcs11 из проекта OpenSC и клиента PKI Aladdin для аутентификации на основе токенов, делая вызовы xmlrpc через ssl.

Я пытаюсь загрузить механизм PKCS # 11, а также модуль Aladdin (см. Код ниже).Но я получаю ошибку: AttributeError: у объекта 'module' нет атрибута 'load_dynamic_engine'

from M2Crypto import SSL, m2
m2.load_dynamic_engine("dynamic","/usr/local/ssl/lib/engines/engine_pkcs11.so")
m2.load_dynamic_engine("pkcs11","/usr/lib/libeTPkcs11.so")

В соответствии с документацией M2Crypto эта функция должна быть доступна.Вот документацию, которую я читаю: http://www.heikkitoivonen.net/m2crypto/api/

Может кто-нибудь указать мне правильную документацию или помочь выяснить, как загрузить двигатели?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 03 февраля 2010

Я не использовал модуль Engine самостоятельно, поэтому не могу дать вам однозначного ответа. Тем не менее, вы должны взглянуть на test_engine.py модуль для некоторых указателей. Я предполагаю, что для загрузки движков, предоставляемых OpenSSL, вы не должны использовать эту форму load_dynamic_engine(), но либо load_dynamic(), либо load_openssl(). Вам, вероятно, понадобится load_dynamic_engine() только при загрузке сторонних модулей.

0 голосов
/ 03 февраля 2010

Я неправильно читал документацию.Load_dynamic_engine () принадлежат модулю Engine.

Я изменил команду и теперь получаю другую ошибку: Engine.load_dynamic_engine ("dynamic", "/ usr / local / ssl / lib / двигателей / engine_pkcs11.so")

неверный идентификатор движка Engine.load_dynamic_engine (файл" dynamic "," / usr / local / ssl / lib / engine / engine_pkcs11.so ")" /usr/local/lib/python2.4/site-packages / M2Crypto / Engine.py ", строка 92, в файле load_dynamic_engine e.ctrl_cmd_string (" LOAD ", нет)" /usr/local/lib/python2.4/site-packages/M2Crypto/Engine.py ", строка38, в ctrl_cmd_string поднять EngineError (Err.get_error ()) M2Crypto.Engine.EngineError: 23541: ошибка: 260B606D: подпрограммы двигателя: DYNAMIC_LOAD: сбой init: eng_dyn.c: 521:

Любая идея, что означает

...