SSL中间证书的坑
2017年11月17日
没有评论
启用SSL已经有段时间了,使用的是 Let’s Encrypt 免费证书,除了需要每季度更新一次维护外,一切正常使用,包括WEB和iOS,因为历史原因Android还没有完全切到HTTPS协议,也正因为漏掉Android这一块无意间避过了中间证书的问题,一直到微信小程序开发过程中发现接口访问报 request fail 错误,由此填坑的过程揭开SSL中间证书的面纱
先来认识一下中间证书
中间证书,其实也叫中间CA(中间证书颁发机构,Intermediate certificate authority, Intermedia CA),对应的是根证书颁发机构(Root certificate authority ,Root CA)。为了验证证书是否可信,必须确保证书的颁发机构在设备的可信 CA 中。SSL的验证机制是由一级一级追溯验证,当前CA不可信则向上层CA验证,直到发现可信或没有可信CA为止,注意有时候Intermedia CA也有可能在设备的可信CA中,这样不用一直追溯到Root CA,即可认证完成。
根证书,必然是一个自签名的证书,“使用者”和“颁发者”都是相同的,所以不会进一步向下检查,如果根 CA 不是可信 CA ,则将不允许建立可信连接,并提示错误。
一般Root CA是要求离线保存的,如果要签发证书也是通过人工方式签发,这样能最大程序保证Root CA的安全,而Intermedia CA则相对宽松,允许在线签发证书的,这样方便高效,安全性灵活,即便通过Root CA签发的Intermedia CA发生意外泄露,也可以通过Root CA进行撤销
中间证书的运行机制
阅读全文…