ssl - 垃圾。尝试抓取网站时出现 SSL 错误 "DH KEY TOO SMALL"

标签 ssl openssl scrapy pyopenssl

尝试抓取网站时重试后出现以下错误。

[<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_check_cert_and_algorithm', 'dh key too small')]>]

我尝试了 Scrapy 中可用的所有 SSL 方法,结果相似。当我在 Chrome 中访问该站点时,该页面似乎不安全(HTTPS 损坏),但我仍然可以绕过该错误。使用 python 请求的行为相同(我可以通过将 verify 设置为 False 来获取网站内容)。

有解决办法吗?我不能像在 python 请求中那样关闭 SSL 验证吗?

附言共享站点 URL 没有意义,因为它只允许来自白名单 IP 的请求。

最佳答案

禁用验证将无济于事,因为这不是证书验证的问题。有帮助的是改变所使用的密码,即禁用 DH 密码,这样受弱 DH key (logjam 攻击)影响的代码就不会被使用。使用旧版本的 OpenSSL 也有帮助,它还不能防止 logjam 攻击。

不幸的是,似乎没有明显的方法来指定要在 Scrapy 中使用的密码集。如果连接到扭曲或 OpenSSL 库,也许可以找到一个。

关于ssl - 垃圾。尝试抓取网站时出现 SSL 错误 "DH KEY TOO SMALL",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38065395/

相关文章:

php - Laravel:表单中的 HTTPS::open()

java - 查找证书是自签名的还是 CA 签名的

css - Scrapy 无法通过 CSS 或 xPath 请求文本

python - 在scrapy中提取类名

ssl - 没有 ssl 证书的域重定向到不同的 ssl 域

java - java 中有一些 api 等于 openSSL 吗?

c# - 在 Visual Studio 中启用 SSL - 未提示安装证书

c# 与 c++ ssl_connect

iphone - 在 Objective C 中复制 Java 加密

xpath - Xpath选择器在Scrapy中不起作用