我抓住了互联网但无法得到答案。 我创建了一个示例cert.py文件:
import ssl
import traceback
def getCert():
try:
m_cert = ssl.get_server_certificate(('www.verisign.com', 443))
except Exception, e:
print e
traceback.print_exc()
m_cert = ''
print m_cert
getCert()
我尝试使用“root”权限并且处理没有任何问题,但是当我切换到其他普通用户帐户时,我总是得到以下回溯:
Traceback (most recent call last):
File "/tmp/cert.py", line 10, in getCert
m_cert = ssl.get_server_certificate(('www.verisign.com', 443))
File "/lib/python2.7/ssl.py", line 405, in get_server_certificate
File "/lib/python2.7/ssl.py", line 299, in connect
File "/lib/python2.7/ssl.py", line 283, in do_handshake
我也尝试使用“openssl”运行命令,我得到了相同的结果:root很好,但普通用户失败。
任何人都可以提供一些暗示吗?
由于
答案 0 :(得分:0)
我知道它失败的原因。 原因是我的系统中/ dev / random设置为600,openssl试图在未经许可的情况下访问它。
在我将/ dev / random修改为666后,问题已修复。