2010-02-03 1 views
0

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

Я пытаюсь загрузить двигатель PKCS # 11, а также модуль Aladdin (см. Код ниже). Но я получаю сообщение об ошибке: AttributeError: «модуль» объект не имеет атрибута «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/

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

Спасибо!

ответ

0

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

+0

спасибо. load_dynamic() работает для engine_pkcs11. – Becky

+0

Прохладный! Затем вы должны пометить этот ответ как принятый. –

0

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

Я изменил команду, и теперь получить другую ошибку: Engine.load_dynamic_engine ("динамический", "/ USR/местные/SSL/Lib/Двигатели/engine_pkcs11.so")

плохой двигатель ID Двигатель .load_dynamic_engine ("dynamic", "/ usr/local/ssl/lib/engines/engine_pkcs11.so") Файл "/usr/local/lib/python2.4/site-packages/M2Crypto/Engine.py", строка 92, в load_dynamic_engine e.ctrl_cmd_string («LOAD», None) Файл «/usr/local/lib/python2.4/site-packages/M2Crypto/Engine.py», строка 38, в ctrl_cmd_string raise EngineError (Err .get_error()) M2Crypto.Engine.EngineError: 23541: e rror: 260B606D: подпрограммы двигателя: DYNAMIC_LOAD: init failed: eng_dyn.c: 521:

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