【问题标题】:Statically linking OpenSSL with M2Crypto将 OpenSSL 与 M2Crypto 静态链接
【发布时间】:2011-01-19 22:04:22
【问题描述】:

M2Crypto 使用标准

python setup.py [build|install]

构建和安装模块的步骤。 distutils/setuptools 允许进行一些调整,但我似乎无法找到将 OpenSSL 静态链接到模块的方法 - 似乎没有任何工具可以进行此更改。

有没有办法使用静态链接的 OpenSSL 构建 M2Crypto? (如果这是唯一的方法,我愿意放弃 setup.py 并手动完成,只是想在我去花费数小时解决已经解决的问题之前询问是否有人解决了这个问题)。

【问题讨论】:

  • 您使用的是什么平台?你能说说为什么在许多平台强烈反对的情况下你想要静态链接吗?
  • 平台是linux和win32。我们商务部的出口豁免要求最终用户不能通过交换库来替换 openssl,因此我们不能使用共享链接。

标签: python openssl m2crypto


【解决方案1】:

您需要 OpenSSL 的静态链接库(ssleay32、libeay32),您可能必须自己构建这些库。在 Windows 上,您必须更改 setup.py 以包含更多库,例如:

-self.libraries = ['ssleay32', 'libeay32']
+self.libraries = ['ssleay32', 'libeay32', 'crypt32', 'user32', 'gdi32', 'kernel32', 'ws2_32', 'advapi32']

为我工作。

【讨论】:

  • 有趣,我试试这个。我静态库,但可能隐藏共享库会有所帮助。
  • 我已经编辑了您的答案以反映实际上不需要zlib,但您确实需要crypt32。否则从一开始就是正确的。
猜你喜欢
  • 1970-01-01
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
  • 2018-01-01
相关资源
最近更新 更多