任何met python导入paramiko和Crypto错误,比如“不使用mpz-powm-sec”?

2024-09-25 08:36:09 发布

您现在位置:Python中文网/ 问答频道 /正文

操作系统: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有关,这让我很困惑。请给我一些建议,thx!


Tags: yousolibusrnotsecusingshould
2条回答

我也遇到了这个问题,重建python(在我的例子中是2.7)是不够的。编译完新版gmp后,我不得不用pip重新安装pycrypto,事实上,我不知道是否有必要重建python,但我还是按照Kimvais的答案做了。

这是正常的-RHEL 5似乎有GMP版本4.x,因此Python库是针对该版本构建的。

official sources重新构建GMP库,然后重新构建Python,如果您真的想消除警告的话。

你可以考虑升级到一个更现代的操作系统-EL5将是今年年底的EOP。或者至少将操作系统更新到最新版本(5.7)

相关问题 更多 >