欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 实现https请求的基本原理与介绍 博客分类: http协议  

程序员文章站 2024-03-19 14:35:58
...
实现https请求的基本原理与介绍
http://blog.csdn.net/daguairen/article/details/52442149

接口X509TrustManager有下述三个公有的方法需要我们实现:
  • ⑴ void checkClientTrusted(X509Certificate[] chain, String authType)
  • throws CertificateException

      该方法检查客户端的证书,若不信任该证书则抛出异常。由于我们不需要对客户端进行认证,因此我们只需要执行默认的信任管理器的这个方法。JSSE中,默认的信任管理器类为TrustManager
  • ⑵ void checkServerTrusted(X509Certificate[] chain, String authType)
  • throws CertificateException

      该方法检查服务器的证书,若不信任该证书同样抛出异常。通过自己实现该方法,可以使之信任我们指定的任何证书。在实现该方法时,也可以简单的不做任何处理,即一个空的函数体,由于不会抛出异常,它就会信任任何证书
  • ⑶ X509Certificate[] getAcceptedIssuers()
  •   返回受信任的X509证书数组

  自己实现了信任管理器类,如何使用呢?类HttpsURLConnection似乎并没有提供方法设置信任管理器。其实,HttpsURLConnection通过SSLSocket来建立与HTTPS的安全连接,SSLSocket对象是由SSLSocketFactory生成的。HttpsURLConnection提供了方法setSSLSocketFactory(SSLSocketFactory)设置它使用的SSLSocketFactory对象。SSLSocketFactory通过SSLContext对象来获得,在初始化SSLContext对象时,可指定信任管理器对象。下面用一个图简单表示这几个JSSE类的关系:
java 实现https请求的基本原理与介绍
            
    
    博客分类: http协议