我怎么觉得 HPKP 一点也不灵活,换 CA 都麻烦。 DANE 稍微灵活一点,但兼容性不如 HPKP 。 HPKP 兼容性不如 HSTS 。 preload 比较坑的就是必须要启用子域名,但是大不了不加 preload 和子域名不是还照样用么。
还有**HPKP 和 HSTS 是两个不同的东西**。 HSTS 是必须配合 301 , HPKP 可以不配合 301 。不知道 lz 为什么说 HSTS 重复?只不过是多了一个 header 而已。
所以,如果是全站 HTTPS ,既然开了 301 就一定要一起开 HSTS (可以不加子域名,而且 HSTS 也是可以配置灵活的有效期啊),没有副作用。 HPKP 没必要开(哪家 CA 敢乱发证书?)
HSTS 还有一个好处,就是证书不是有效 CA 的话,直接无法访问,不去问“是否信任”之类的,正如 L10 和 L1 说的。而 HPKP 直接绑定在一家或几家 CA ,不灵活。
HPKP 兼容性:
http://caniuse.com/#feat=publickeypinningHSTS 兼容性:
http://caniuse.com/#feat=stricttransportsecurityDANE 兼容性:约为 0
很明显 HSTS 兼容性好
@
VmuTargh DANE 是可以对 CA 或中间证书配置的,相比 HPKP 多了 Per Cert