问题标签 [pyopenssl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 从 pyOpenSSL 中的 PKey 中提取公钥
我正在使用 pyOpenSSL,并且在生成请求时。我基本上一直在做
但是,我觉得我做错了什么,因为我相信我只是将请求的公钥设置为私钥而不是公钥。
我想知道我是否做错了,如果是,如何从 pyOpenSSL 中的私钥对中提取公钥。我不清楚如何从文档中做到这一点。
python - Windows 7 上的 pyOpenSSL 加密错误
好的,我试图让 pyopenssl 在我的 Windows 7 x64 实例上工作,但运气不太好。
我想使用 pyopenSSL,我已经像这样安装了 pip install pyopenSSL。
问题是我无法让它运行,安装了 python 2.7 添加注册,为它制作 pywin32,但无法工作。我在 PATH 和脚本中有所有必要的配置,但根本不起作用。
当我尝试这里是我得到的日志。
我在这里想念什么?我瞎了。提前感谢您的帮助。
python - pyOpenSSL set_cipher_list 对流量没有影响
更新:似乎 do_handshake 正在重置密码列表
诚然,这是一个非常具体的场景,但也许有人会有想法。我试图强制服务器只接受 RC4-SHA(仅出于调试原因)。我的代码看起来像:
根据打印输出,一切正常,并且确实使用 RC4-SHA 建立了连接。但是,查看 Wireshark,我可以看到服务器回复了另一个套件 (TLS_RSA_WITH_AES_128_CBC_SHA (0x002f))。不用说,客户端提出,TLS_RSA_WITH_RC4_128_SHA (0x0005),所以没有理由不使用它。
我正在使用 Python 2.7、pyOpenSSL 0.13、OpenSSL 1.0.1e。我正在处理的代码是 mitmproxy 的一部分。
有任何想法吗?
openssl - SSL_get_current_cipher 是否有 pyOpenSSL 包装器?
这是一种让实际密码套件用于连接的方法吗?get_cipher_list 似乎返回客户端(或服务器)支持的“可能”密码套件。
python - 验证 SSL/X.509 证书是否由另一个证书签名
问题
如何验证 X.509 证书是否由另一个使用 PyOpenSSL 或 Twisted 的证书签名?我希望客户端验证收到的服务器证书是签署其客户端证书的证书。
我查看了 PyOpenSSL 文档,似乎找不到任何关于如何独立于建立 SSL 连接来验证证书的内容。
我找到了对OpenSSL.crypto:X509.verify()
in的引用twisted.internet._sslverify:PublicKey.verifyCertificate()
,但是 twisted 方法被注释掉了(在 Twisted 13.0 中)并且 X509 方法不存在(在 PyOpenSSL 0.13 中)。
pyOpenSSL 不支持验证证书描述了一个无法手动验证证书链的错误,但我不完全确定这是否是我想要做的。
用例
证书:
使用 openssl 生成自签名 CA 证书。
生成由 CA 证书签名的服务器证书。
生成由服务器证书签名的客户端证书。
设置:
服务器正在使用 Twisted 的CertificateOptions及其服务器证书。CA 证书是 CA 和服务器证书,用于设置一个链,其中服务器证书验证接收到的客户端证书,CA 证书验证服务器证书(所有内置功能)。
客户端还为客户端证书使用 CertificateOptions。CA 证书仅包含 CA 证书。
这一切都很好(双方相互验证),但我想执行一个额外的步骤:
- 在客户端set_verify()回调中,验证客户端证书是否由服务器证书签名。
python - 简单的 HTTP 服务器 SSL record_too_long 错误
我正在尝试使用 CGIHTTPServer 运行一些 Python CGI 脚本。这工作正常,但现在我想在 Web 侦听器上使用 SSL 运行。
我从Activestate代码配方中的解决方案开始,并将 SimpleHTTPRequestHandler 更改为 CGIHTTPRequestHandler。这可以很好地提供静态文件,包括 cgi 脚本(cgi-bin 目前是指向“.”的链接)但对于 cgi 脚本 Firefox 显示
“SSL 收到了超过最大允许长度的记录”
错误代码:ssl_error_rx_record_too_long。
网络搜索表明这可能是服务器问题,而不是浏览器问题,这对我来说似乎是合乎逻辑的。此外,我已经尝试了所有建议的浏览器设置。我也尝试了各种服务器设置,但没有任何乐趣。
- 平台是 RHEL 2.6.18
- Python 是 2.4.3 - 请不要建议使用“
import ssl
”,因为它不可用 - 自签名证书,在浏览器中接受(静态文件工作)
代码:
我怎样才能让它在 Python 2.4 中为一个快速简单的 Web 界面工作?
python - pyOpenSSL 创建一个 pem 文件
我在 python 中使用以下代码和 pyOpenSSL 创建了一个密钥对:
- 现在如何从密钥对象创建私钥和公钥 .pem 文件?
- 如果有任何可用的教程,请告诉我。我没有找到。从手册中很难知道,因为我是 OpenSSL 的新手。
- 如果 RSA 中没有使用特定的唯一密钥,相同的代码创建两个相同的密钥对的可能性有多大?
python - Web 应用程序在 self._sslobj.do_handshake() 的 ssl.py 中挂起几个小时
我正在使用 Python 2.7.5。我有一个网络应用程序,它每隔几分钟就会查询一次 API,并且在最后一天左右一直在成功运行。然而,在让它静置几个小时后,我回来发现我的程序停滞了几个小时没有任何活动。我退出了程序,发现在其中一个 API 调用期间,它在 ssl 握手方法中的大部分时间都停滞不前。
这是回溯:
我做了一些研究,这似乎是 Python 2.6 中 SSL 库的问题,但它已得到修复。我想知道为什么我的程序没有抛出异常或任何东西就卡在这里了。
如果有办法为 SSL 握手方法设置超时,我很乐意这样做,因为我想避免我的程序再次因类似的事情而无限期地停止。我正在使用 Requests HTTP 库,它在 Mac OSX 10.9 上运行,如果这很重要的话。建议?
编辑: 我做了一些研究,似乎其他人在 SSL 方面遇到了这个特定问题,尽管在 2.6 中实施了“修复”。但是,尚不确定解决方案是什么。任何帮助表示赞赏。
编辑 3: 添加了我的解决方案作为这个问题的答案。
python - pyOpenSSL SSL3_WRITE_PENDING:错误的写入重试,返回 self._sslobj.write(data) 错误:[Errno 10054]
我现在正在用 Python 开发一个聊天服务器。我正在将 pyOpenSSL 应用于我为测试而制作的聊天服务器和虚拟客户端。但是,每当从虚拟客户端向服务器发送文本消息和照片文件时,pyOpenSSL 都会返回严重错误,这促使我停止使用 pyOpenSSL,如下所示。
你能告诉我如何解决这个错误吗?还有一个错误导致虚拟客户端死亡。
如果没有 pyOpenSSL,虚拟客户端和服务器运行良好。应用 pyOpenSSL 会导致意外问题 :(。如果您遇到问题或有解决问题的方法,请告诉我。....如果错误没有解决方案,我宁愿找出其他不使用 OpenSSL 的替代方案。 . 或者您知道任何可以加密/解密机器之间传输的聊天消息和个人文件的替代方案吗?
尽管在写入(发送)数据之前我已经将要发送的数据存储在局部变量中,但每次都会发生错误。
已解决: 正如@David Schwartz 评论的那样,以下代码解决了上面的问题。
p>python - 使用 'pip' 更新 pyOpenSSL 和 pandas 失败并显示“TypeError: resolve() got an unexpected keyword argument 'replace_conflicting'”
当我尝试更新或安装 or 的任何版本pandas
(使用1.5.4pyOpenSSL
的任何实例)时,我得到:sudo pip --[un]install|update [--no-use-wheel] [pandas|pyOpenSSL|xattr|stevedore]
pip
为什么我会收到此错误,我该怎么做才能避免它?
OSX 10.9.2;蟒蛇2.7.5;setuptools
3.4.3.
有关错误报告的更多详细信息(对于pandas
):
内容/Users/Rax/Library/Logs/pip.log
:
FWIW,我可以pandas
在虚拟环境中成功安装。如果我将它从那里复制回出现此错误并运行的环境中,我会nosetests pandas
得到:
如果我在虚拟环境中运行测试,这也是我得到的。