iOS系统在使用HTTPS协议访问网站时,会验证服务器端的数字证书,以确保用户与服务器之间的通信是安全的。如果服务器端的数字证书无法通过验证,iOS系统就会提示用户“不信任证书”或“无法验证服务器身份”的错误信息。
不信任证书的原理是iOS系统内置了一个证书信任链,只有在信任链上的证书才会被认为是可信的。如果服务器端的数字证书不在信任链上,iOS系统就会认为它是不可信的,并提示用户不信任证书。
证书信任链是由一系列的数字证书构成的,每个数字证书都包含了证书颁发机构的公钥和数字签名。当iOS系统收到一个数字证书时,它会检查证书的数字签名是否有效,并验证证书颁发机构的身份。如果证书的数字签名无法验证或证书颁发机构不受信任,iOS系统就会提示用户不信任证书。
iOS系统内置了一些常见的证书颁发机构的根证书,这些根证书被认为是可信的。当服务器端的数字证书由这些根证书颁发机构签发时,iOS系统就会认为它是可信的,并建立安全连接。如果服务器端的数字证书由其他颁发机构签发,iOS系统就会提示用户不信任证书。
此外,iOS系统还支持用户自己安装数字证书,以扩展证书信任链。用户可以通过将数字证书发送到iOS设备并在设备上安装来实现这一点。安装数字证书后,iOS系统就会将其添加到证书信任链中,并认为由该证书颁发机构签发的数字证书是可信的。
总结来说,不信任证书的原理是iOS系统内置了一个证书信任链,只有在信任链上的证书才会被认为是可信的。如果服务器端的数字证书不在信任链上,iOS系统就会认为它是不可信的,并提示用户不信任证书。用户可以通过安装数字证书来扩展证书信任链。