公钥私钥,HTTPS,CA证书机构,单向和双向认证
公钥私钥:http://blog.csdn.net/tanyujing/article/details/17348321
互相加解密
A 拥有公钥(公开发布)和私钥(个人),B也拥有公钥和私钥。
公钥加密的数据要用个人私钥解密,个人私钥加密的发布数据要用公钥解密。
A用B的公钥加密 发送 数据 给B,B用B的私钥解密。 保证内容不被别人看到。
B用B的私钥加密 发送 数据 给 A,A用B的公钥解密。 保证数据是B发的。
HTTPS:http://blog.csdn.net/liweisnake/article/details/40074321 发送证书给浏览器,浏览器使用证书中的公钥加密数据传输于服务器,服务器使用自己的私钥解密。---------所以支持HTTPS 服务器要安装配置证书并监听443接口。
以
CA证书(系统默认安装)为根证书颁发的证书都是可信的,如果自己给自己颁发证书,那就是自己做为CA证书,但注意这个CA别人系统并没有。
浏览器从服务器传递的证书中找到了根证书,认为是可信的,会是绿色。如果不可信证书,但是也可以正常支持HTTPS访问的,但不可信的也必须是证书才能发送公钥给浏览器,否则不能支持HTTPS访问。
单向认证和双向:http://blog.csdn.net/duanbokan/article/details/50847612
双向认证和单向认证原理基本差不多,只是除了客户端需要认证服务端以外,增加了服务端对客户端的认证。(客户端也传递证书和公钥给服务端,服务端使用公钥加密,然后客户端收到后使用私钥解密)。注意的是,服务端貌似不用验证客户端的证书是否可信机构颁发。微信支付 退款中有用到 双向认证,支付的发起没有用到客户端证书。