使用自签名证书时是否可以防止中间人攻击?

Tus*_*ake 7 ssl https openssl ssl-certificate public-key-encryption

我不确定之前是否有类似的问题(我找不到任何问题),但是有可能保护客户端/服务器免受中间人攻击吗?

我正在编写一个客户端应用程序来与Server通信.通信将基于SSLv3.我可以使用服务器的自签名证书,但担心其他人在同一服务器名称中生成相同的自签名证书并假装是它.我的客户端应用程序使用OpenSSL库.[客户端和服务器是基于节俭的,如果它有任何区别].我是否可以在保持对自签名证书的支持的同时避免此类攻击?

Joa*_*son 12

是.

简而言之,只有当客户端事先不知道证书时,自签名证书才比CA证书更不安全,因此无法验证服务器是否为其所声称的人.

如果您将自签名证书添加到客户端并且不接受任何其他证书,那么您实际上与拥有证书颁发机构签名证书一样安全(或者,可以说,甚至更多).

使用或不使用证书颁发机构来保持SSL安全的重要部分是:

  • 服务器私钥(在CA的情况下,其所有根的私钥)保密.
  • 客户端知道服务器证书(或其CA根).