有遇到“未使用 mpz_powm_sec”的 paramiko 和 Crypto 导入错误吗?
操作系统:redhat 5.2 i386
Python版本:2.7
错误信息如下:
Python 2.7.2 (default, Feb 7 2012, 11:16:30)
[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
/home/master/local/lib/python2.7/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
_warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
这是我的libgmp版本:
ldconfig -p |grep libgmp
libgmpxx.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmpxx.so.3
libgmpxx.so.3 (libc6) => /usr/lib/libgmpxx.so.3
libgmpxx.so (libc6) => /usr/lib/libgmpxx.so
libgmp.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmp.so.3
libgmp.so.3 (libc6) => /usr/lib/libgmp.so.3
libgmp.so (libc6) => /usr/lib/libgmp.so
以上所有内容似乎都和libgmp有关,这让我很困惑。请给我一些建议,谢谢!
2 个回答
0
我也遇到过这个问题,单单重装Python(我用的是2.7)并不够。我需要在编译了更新版本的gmp之后,用pip重新安装pycrypto。其实,我也不确定重装Python是否真的有必要,但我还是按照Kimvais的回答做了。
6
这是正常的情况 - RHEL 5似乎使用的是GMP版本4.x,因此Python库是基于这个版本构建的。
如果你真的想消除这个警告,可以从官方源重新编译GMP库,然后再重新编译你的Python。
你也可以考虑升级到一个更新的操作系统 - EL5将在今年年底停止支持。或者至少把你的操作系统更新到最新的版本(5.7)。