如果客户端未通过证书,https 连接的安全性如何



我们有一个在Linux机器上运行的Web服务器,我们在ssl.conf文件中将"SSLVerifyClient"配置为"require"。

这是否需要从Web浏览器(如Firefox或chrome)使用该服务的客户端需要证书。

如果是,则不可能将客户端证书分发给每个用户,因为可能有数千个用户,如何克服此问题。

如果不是,那么通过网络传递的数据如何安全?我知道证书有助于加密数据,这样没有证书的人就无法读取数据。

请帮助我澄清我的疑虑

如果不使用客户端证书,https 连接仍然是安全的:

  • 只有客户端和服务器可以读/写内容
  • 服务器的身份由证书颁发机构保证
客户端

证书仅在连接开始时提供客户端身份验证。 要加密数据,首先使用服务器的公钥(请参阅公钥加密)。

如果您在提交登录名/密码后使用设置的cookie来识别客户端,它仍然是安全的:您已经识别了客户端。

当 SSLVerifyClient 设置为 require 时,客户端必须传递客户端证书。您将通过OpenSSL生成这些证书,并使用通过SSLCACertificateFile安装的证书颁发机构对其进行签名。

如何分发这些证书是您必须自己解决的问题。

最新更新