CA双向认证补充:java客户端使用优化及证书链和Android证书

阅读: 评论:0

CA双向认证补充:java客户端使用优化及证书链和Android证书

CA双向认证补充:java客户端使用优化及证书链和Android证书

说明

上篇详细描述了自定义ca证书的步骤以及浏览器作为客户端和java作为客户端的使用方法。
但是之前的java客户端使用代码还存在一定的问题:
首先,之前的客户端根证书是在代码外部使用keytool安装到jdk证书库,次数多了就显得麻烦;
其次,之前的代码只能支持域名访问,这样没有真实域名时就必须更改host文件;
于是通过查找网络资料修改之后,便有了新的操作方式,使得java客户端可以支持ip访问https,同时不用直接侵入jdk。

支持ip访问https的java客户端

http请求有多种框架,java常用的可能就是httpclient,而目前公司安卓那边使用的是okhttp,因此除了尝试我所熟悉的httpclient之外,也做了okhttp在java环境下的尝试。

httpclient方式代码

以下代码基本来自网络,由于搜索资料过多,已经无法找到原出处。

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.HttpURLConnection;
import java.URL;
import java.security.KeyStore;
import CertificateException;
import X509Certificate;
import java.util.Map;
import javax.ssl.HttpsURLConnection;
import javax.ssl.KeyManagerFactory;
import javax.ssl.SSLContext;
import javax.ssl.SSLSession;
import javax.ssl.SSLSocketFactory;
import javax.ssl.TrustManager;
import javax.ssl.TrustManagerFactory;
import javax.ssl.X509TrustManager;
/*** @Description:TODO类描述* @since JDK 1.8* @author tuzongxun* @Email 1160569243@qq* @version: v1.0.0* @date: 2019年4月9日 下午2:43:35*/
public class CaTest {// private String serverUrl = "";private String serverUrl = "192.168.0.205";private SSLSocketFactory sslFactory = null;/*** @author: tuzongxun* @date: 2019年4月9日 下午2:42:03
*/public void run() {try {HttpURLConnection connection = doHttpRequest(serverUrl, "GET", "", null);int responseCode = getResponseCode(connection);

本文发布于:2024-02-01 16:59:11,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170677795038112.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:证书   双向   客户端   CA   Android
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23