在 QWebSockets 中检查客户端 SSL 证书有效性的最佳实践
Posted
技术标签:
【中文标题】在 QWebSockets 中检查客户端 SSL 证书有效性的最佳实践【英文标题】:Best practices to check SSL Certificate validity on client side in QWebSockets 【发布时间】:2014-06-05 12:41:24 【问题描述】:我正在尝试编写一个使用全新 QWebSockets 的应用程序。
到目前为止,我想实现安全 Web 套接字,但示例指向我拒绝 SSL 错误,即使他们评论说它不安全。
我的问题是:我应该如何在客户端处理 SSL 证书的控制,甚至是自签名证书?在这种情况下,最佳做法是什么?
仅供参考,这里有 a link 到 QWebSocket 类发出的 QSSLErrors。
不幸的是,当我打印它们时,webSocket.sslConfiguration().peerCertificate() 返回空值。
【问题讨论】:
【参考方案1】:非常广泛,但您不应信任所有证书,或绕过 HTTPS 中的主机名检查。您不需要验证证书本身,因为图书馆应该这样做。您还应该检查证书的 subjectDN 是否是您希望看到的,除非您使用 HTTPS 为您执行此操作(主机名检查)。
【讨论】:
感谢您的回答。基本上,WebSockets 被解释为 HTTP 请求(在我的例子中,作为 HTTPS)。主机名检查可以轻松完成,但 QWebSockets 不允许我验证证书本身的内容。以上是关于在 QWebSockets 中检查客户端 SSL 证书有效性的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章