我正在使用M2Crypto-0.20.2。我想使用OpenSC项目中的engine_pkcs11和Aladdin PKI客户端进行基于令牌的身份验证,通过ssl进行xmlrpc调用。
我正在尝试加载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/
有人能指出正确的文档或帮助确定如何加载引擎吗?
谢谢!
答案 0 :(得分:0)
我正在阅读错误的文档。 load_dynamic_engine()属于Engine模块。
我更改了命令,现在得到一个不同的错误: Engine.load_dynamic_engine( “动态”, “在/ usr /本地/ SSL / LIB /发动机/ engine_pkcs11.so”)
糟糕的引擎ID Engine.load_dynamic_engine( “动态”, “在/ usr /本地/ SSL / lib目录/发动机/ engine_pkcs11.so”) 在load_dynamic_engine中输入文件“/usr/local/lib/python2.4/site-packages/M2Crypto/Engine.py”,第92行 e.ctrl_cmd_string(“LOAD”,无) 在ctrl_cmd_string中输入文件“/usr/local/lib/python2.4/site-packages/M2Crypto/Engine.py”,第38行 引发EngineError(Err.get_error()) M2Crypto.Engine.EngineError:23541:错误:260B606D:引擎例程:DYNAMIC_LOAD:init failed:eng_dyn.c:521:
知道这意味着什么吗?
答案 1 :(得分:0)
我自己没有使用过引擎模块,所以我无法给你任何明确的答案。但是,您应该查看test_engine.py模块以获取一些指示。我猜测要加载OpenSSL提供的引擎,你不应该使用load_dynamic_engine()
的那种形式,而应该使用load_dynamic()
或load_openssl()
。仅在加载第三方模块时,您可能需要load_dynamic_engine()
。