XHR - 绕过过期的SSL证书

时间:2013-12-24 01:50:57

标签: javascript xmlhttprequest

我尝试向拥有过期SSL证书的域发出一个vanilla XHR请求。我收到以下回复:

Error: CERT_HAS_EXPIRED
    at SecurePair.<anonymous> (tls.js:1349:32)
    at SecurePair.EventEmitter.emit (events.js:92:17)
    at SecurePair.maybeInitFinished (tls.js:962:10)
    at CleartextStream.read [as _read] (tls.js:463:15)
    at CleartextStream.Readable.read (_stream_readable.js:320:10)
    at EncryptedStream.write [as _write] (tls.js:366:25)
    at doWrite (_stream_writable.js:219:10)
    at writeOrBuffer (_stream_writable.js:209:5)
    at EncryptedStream.Writable.write (_stream_writable.js:180:11)
    at write (_stream_readable.js:573:24)

这是有道理的。当您浏览到具有无效证书的站点时,它也是相同的。但是,在浏览器上,您可以说:

我不在乎,继续!

如何使用XHR请求执行此操作?

我花了相当多的时间在互联网上寻找解决方案,而我能找到的唯一答案就是人们避免回答,说明它是不安全的,不应该这样做。

  • 我知道我连接的网站应该有更新的证书。事实并非如此。令所有完美主义者感到沮丧,我仍然需要联系。

  • 是的,我确信它是安全的。

  • 我会跟那些没有更新证书的人说一句话。然而,它不是固定的,我需要连接。

有谁知道怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

因此,您可以通过子进程生成的curlwget代理您的请求。您可以使用--insecure--no-check-certificate选项来避免错过过期的证书。有npm模块可以帮助您使用curlwget到节点。

虽然我认为一旦你意识到这是多么丑陋,丑陋的黑客攻击,你就会有足够的动力让网站的管理员更新他们的证书。