https 解决的3个问题
1 传输内容加密:
对称加密或非对称加密,由于非对称加密效率低,速度慢,因此采用对称加密传输信息,但对称加密又有密钥交换问题。
密钥交换:客户端产生一对密钥,公钥给服务端,服务端用该公钥加密对称密钥,发给客户端,完成密钥交换。
2 信息来源身份验证:
通过非对称加密的私钥,只加密消息体的指纹摘要,和消息一起发给客户端,客户端用公钥解密,如果能正确解密,则说明来自合法服务器(前提是获取了合法的公钥,有可能发生中间人攻击,例如,公钥被非法服务器拦截,然后非法服务器产生一对密钥,把自己生成的公钥给客户端,便可以拦截修改客户端和合法服务器的通信,因此,很多系统采用内置证书完成,公钥验证是否来自CA)
3 信息完整性(没有被篡改):
同2,获得消息体的指纹摘要,用私钥加密指纹摘要,一起发给客户端,客户端解密后得到消息摘要,再对消息体计算消息摘要,比对两个摘要是否一致。
FEATURED TAGS
android
组件
else
权限
algorithm
web
tool
java
performance
app
debug
process
memory
jvm
linux
binder
ipc
handler
系统启动
AMS
Bitmap
mobile
gradle
wait
多线程
线程状态
并发
线程安全
数据结构
内存泄露
equals
hashcode
Android Studio
https
Effective
exception
动态代理
base64
crash
github
git
ndk
JavaScript
Charles
Android
C
ViewTreeObserver
xposed
JNI
annotations
maven
ANR
GCC
C++
printf
C语言高级专题
native
nm