我已经看到许多用于HTTPS连接的证书固定的实现,这些实现源自使用本机库和插件在移动设备上运行的客户端应用程序。
我想知道此类证书固定实现是否可用于websocket。在客户端(例如,移动设备或Web浏览器)上,我们可以实际为Websocket实现证书固定吗?
如果可以使用这种方法,那么最好进行解释,最好提供指向资源/文章/代码段/库的链接。
答案 0 :(得分:0)
带有网络套接字it is possible to send HTTP headers。
HTTP公钥固定(HPKP)是一种通过HTTP标头提供的Internet安全机制,该机制允许HTTPS网站抵制攻击者使用错误签发或其他方式造成的假冒行为
HTTP Public Key Pinning只是服务器端的HTTP标头。
在客户端,这实际上取决于语言/运行时,您可能必须implement it yourself。
在谈论作为客户端的浏览器时:
最初建立Websocket连接的尝试仍然发生在标准HTTP请求上,并且需要正确建立标准HTTP请求。因此,在最初建立连接时,浏览器仍应遵守websocket服务器向下发送回的所有响应标头。
StackExchange - Information Security: Certificate Pinning for WebSockets