==以上相关证书都为自签名证书==
1
billlee 2017-05-06 22:27:31 +08:00
能,只要能控制链路,没有难度。没有区别。
|
2
lianz 2017-05-06 22:43:27 +08:00
客户端验证一下服务端证书就行了
|
5
0TSH60F7J2rVkg8t 2017-05-06 23:49:49 +08:00 via iPad
1. 能。ISP 可以。在请求发起的时候就可以完成劫持。
2. 没有不同的地方。关键问题是你如何鉴定服务器发来的证书合法性。 基于 ip 的劫持太简单了,通讯链路上的任何路由设备都可以。anycast 技术也可以做到。 ISP 会重点劫持自签证书。务必购买 ca 证书。实在买不了,你的客户端需要硬编码自签证书的指纹和 hash,以便在发送数据之前校验证书。 |
6
ZeroClover 2017-05-07 06:23:04 +08:00
SSL/TLS 机制本来就是逐层验证证书的签发机构是否为可信根,如果你直接使用了自签,那么除非你在程序内内置证书的指纹,否则验证机制就无法实现了。
某些实在无法使用第三方 CA 证书的环节(比如内网 IP 或者内部地址),建议自建 CA,然后用自建的 CA 来进行二级或者三级证书的签发,然后在客户端把自建 CA 作为可信根,这样验证证书链的方式要方便一些,不需要写死在程序内 |