启用CURLOPT_SSL_VERIFYPEER和禁用CURLOPT_SSL_VERIFYHOST有什么安全后果?

最佳答案

CURLOPT_SSL_VERIFYPEER检查远程证书是否有效,即您是否信任远程证书是由您信任的CA颁发的并且是真实证书。
CURLOPT_SSL_VERIFYHOST检查证书是否已颁发给您要与之对话的实体。


要将其与实际情况进行比较,VERIFYPEER就像检查ID的形式是否为您可以识别的形式(即来自您信任的国家的护照,来自您所知道的公司的工作人员证...)。 VERIFYHOST就像检查卡片上的实际姓名是否与您要交谈的人匹配。

如果您不使用VERIFYHOST(正确的值是2,而不是1,顺便说一句),则禁用主机名验证并打开MITM攻击之门:具有您信任的ID形式的任何人都可以假冒您ID集中的任何人信任,例如持有有效护照的任何人都可以假装自己是拥有有效护照的其他人。

关于ssl - 禁用CURLOPT_SSL_VERIFYHOST(libcurl/openssl)的安全后果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13740933/

10-10 14:15