1.https流程
2.Java SSl
1)javax.net.ssl 包中提供了对SSL的支持。
客户端 SSLSocket 继承Socket,服务器端SSLServerSocket 继承ServerSocket。SSL 是处于TCP和HTTP之间的一层协议,用于保证数据的在网络传输过程的完整、保密、防篡改等安全性。Socket/ServerSocket是对TCP的抽象而SSLSocket/SSLServerSocket在socket的基础上进行扩展实现对SSL协议的支持。
2)应用
大多数web容器(weblogic、tomcat...)都可以通过配置的方式实现对SSL的支持,所以服务器端若没有特殊的要求通过配置容器可以实现http向https的过渡。
通过程序访问https接口的客户端应用,需要代码实现对SSL支持。所以这里着重客户端的应用介绍:
(1)HttpURLConnection和HttpsURLConnection
简单的常采用创建一个URL url 然后通过url.openConnection()的方式打开连接,并强制类型转换到HttpUrlConnection httpUrlConnection 然后通过httpUrlConnection 实现对服务器的访问,此时更低层是使用Socket与服务端进行通信。若要通过SSL层则需要使用HttpsURLConnection它的更低层实现使用SSLSocket并且HttpsURLConnection 是HttpURLConnection的子类是对HttpURLConnection的扩展,所以HttpsURLConnection和HttpURLConnection使用起来是差不多的。
(2