Https 测试程序
来源:互联网 发布:姓名贴制作软件 编辑:程序博客网 时间:2024/05/08 19:57
static class MyX509TrustManager implements X509TrustManager {/* * The default X509TrustManager returned by IbmX509. We'll delegate decisions to it, and fall back to the logic in this class if the default X509TrustManager doesn't trust it. */X509TrustManager pkixTrustManager;MyX509TrustManager() throws Exception {// create a "default" JSSE X509TrustManager.// KeyStore用于存放证书,创建对象时 指定交换数字证书的加密标准KeyStore ks = KeyStore.getInstance("JKS");// 加载证书库keystore文件ks.load(new FileInputStream("D:/java/coffee-1.keystore"), "coffee".toCharArray());// TrustManager决定是否信任对方的证书TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());tmf.init(ks);TrustManager tms[] = tmf.getTrustManagers();/* * Iterate over the returned trustmanagers, look for an instance of X509TrustManager. If found, use that as our "default" trust manager. */for (int i = 0; i < tms.length; i++) {if (tms[i] instanceof X509TrustManager) {pkixTrustManager = (X509TrustManager) tms[i];return;}}/* * Find some other way to initialize, or else we have to fail the constructor. */throw new Exception("Couldn't initialize");}/* * Delegate to the default trust manager. */public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {try {pkixTrustManager.checkClientTrusted(chain, authType);} catch (CertificateException e) {// do any special handling here, or rethrow exception.e.printStackTrace();}}/* * Delegate to the default trust manager. */public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {try {pkixTrustManager.checkServerTrusted(chain, authType);} catch (CertificateException e) {/* * Possibly pop up a dialog box asking whether to trust the cert chain. */e.printStackTrace();}}/* * Merely pass this through. 返回可接受的发行人 */public X509Certificate[] getAcceptedIssuers() {return pkixTrustManager.getAcceptedIssuers();}}public static void main(String[] args) throws Exception {String url12036 = "https://192.168.1.102:8443";// Create a trust manager that does not validate certificate chainsTrustManager[] trustAllCerts = new TrustManager[] { new MyX509TrustManager() };SSLContext sslContext = SSLContext.getInstance("TLS");// sslContext.init(null, null, null);sslContext.init(null, trustAllCerts, new java.security.SecureRandom());// HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());SSLSocketFactory ssf = sslContext.getSocketFactory();URL myURL = new URL(url12036);HttpsURLConnection httpsConn = (HttpsURLConnection) myURL.openConnection();httpsConn.setSSLSocketFactory(ssf);// getInputStream的时候 会调用 MyX509TrustManager#checkServerTrustedInputStreamReader ins = new InputStreamReader(httpsConn.getInputStream());int respInt = ins.read();while (respInt != -1) {System.out.print((char) respInt);respInt = ins.read();}ins.close();}
0 0
- Https 测试程序
- jmeter测试https
- JMeter测试HTTPS
- HTTPS客户端程序示例
- HTTPS客户端程序示例
- Https 下的WebServices 测试
- 如何支持测试 HTTPS 网站
- 使用jwebunit测试https请求
- LoadRunner 测试https类型网站
- Jemter https app接口测试
- Loadrunner 测试https请求配置
- https ssl_key 本地windows测试
- 使用 HTTPS 编写客户端程序
- 使用 HTTPS 编写客户端程序
- 微信小程序 https ,ssl证书
- 微信小程序开发https设置
- 微信小程序request配置HTTPS
- 程序测试
- (7)椭圆的生成之中点画椭圆法
- 我的第一颗二叉链树的笔记
- 18备忘录模式
- 【每周课程】移动开发相关技术精品课程推荐
- FFmpeg 录制桌面、麦克风、摄像头
- Https 测试程序
- GPS获取到的经纬度,计算东西经,南北纬
- maven国内镜像(阿里云)
- Android 性能优化,关于Skipped 31 frames! The application may be doing too much,GC频繁
- 用eclipse还是Android studio?
- 19中介者模式
- 【Android】【API】Android CN
- android6.0动态权限管理,小米bug适配
- Java程序设计 试卷A