浏览器:向使用自签名证书的 API 发出 HTTPS GET 请求。以编程方式在用户端无需任何工作

时间:2021-08-01 21:16:51

标签: javascript ssl browser ssl-certificate self-signed

我需要调用一个使用自签名证书的 HTTPS REST API (Kubernetes)(几乎所有的 Kubernetes 集群都是这样)。

我有集群的根 CA 证书(还有客户端证书。请参阅 docs

如何在浏览器无需用户交互(例如,无需用户下载和安装 CA 证书)的情况下发出此 HTTPS GET 请求?

使用普通的 fetch 会引发 ERR_CERT_AUTHORITY_INVALID 错误。 axios 库文档对于它们支持的内容非常混乱,我不确定它们是否支持浏览器中的 CA。

1 个答案:

答案 0 :(得分:0)

<块引用>

如何在浏览器中发出此 HTTPS GET 请求且无需用户交互(例如,无需要求用户下载并安装 CA 证书)?

您的设置无法做到这一点。浏览器将只接受由预定义的受信任证书颁发者颁发的证书。如果有一种方法可以默默地接受除此之外的任何东西,那么中间人的隐形人攻击将很容易。

因此您必须选择:让用户接受您的证书或获得公共 CA 颁发的证书。鉴于此类证书可以免费,后一种选择可能更容易。