我已经看到许多用于HTTPS连接的证书固定实现,这些实现源自使用本机库和插件在移动设备上运行的客户端应用程序。
我想知道这样的证书固定实现是否可用于 websocket。在客户端(比如移动设备或 Web 浏览器(,我们真的可以为 websocket 实现证书固定吗?
如果这种方法可用,最好有一个解释,最好是链接到资源/文章/代码片段/库。
使用Web套接字,可以发送HTTP标头。
HTTPHTTP公钥固定 (HPKP( 是一种通过 HTTP 标头提供的互联网安全机制,它允许 HTTPS 网站抵抗攻击者使用错误发布或其他方式的冒充
公钥固定只是服务器端的 HTTP 标头。
在客户端,这实际上取决于语言/运行时,您可能必须自己实现它。
当将浏览器称为客户端时:
建立 WebSocket 连接的初始尝试仍然通过标准 HTTP 请求进行,并且需要正确建立标准 HTTP 请求。因此,在最初建立连接时,浏览器仍应遵循 websocket 服务器发送回的任何响应标头。
StackExchange - 信息安全:WebSocket 的证书固定