Android C端双向配置证书
来源:互联网 发布:spss数据拟合曲线 编辑:程序博客网 时间:2024/06/03 16:30
package httpscendwithcrt;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.security.KeyStore;
import java.security.SecureRandom;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManagerFactory;
public class TestTow {
public static void main(String[] args) {
new TestTow().GetHttps();
}
private void GetHttps()
{
String https = "https://192.168.1.95:8443/HttpsTest/index.jsp";
try
{
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
FileInputStream kin = new FileInputStream("client.p12");
KeyStore kmfs = KeyStore.getInstance("PKCS12");
kmfs.load(kin, "123456".toCharArray());
kmf.init(kmfs, "123456".toCharArray());
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
FileInputStream in = new FileInputStream("server.jks");
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(in, "123456".toCharArray());
tmf.init(ks);
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(new MyHostnameVerifier());
HttpsURLConnection conn = (HttpsURLConnection) new URL(https)
.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null)
{
sb.append(line);
}
System.out.println(sb.toString());
}
catch (Exception e)
{
System.out.println(this.getClass().getName() + "------------"+ e.getMessage());
}
}
private class MyHostnameVerifier implements HostnameVerifier
{
@Override
public boolean verify(String hostname, SSLSession session)
{
return true;
}
}
}
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.security.KeyStore;
import java.security.SecureRandom;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManagerFactory;
public class TestTow {
public static void main(String[] args) {
new TestTow().GetHttps();
}
private void GetHttps()
{
String https = "https://192.168.1.95:8443/HttpsTest/index.jsp";
try
{
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
FileInputStream kin = new FileInputStream("client.p12");
KeyStore kmfs = KeyStore.getInstance("PKCS12");
kmfs.load(kin, "123456".toCharArray());
kmf.init(kmfs, "123456".toCharArray());
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
FileInputStream in = new FileInputStream("server.jks");
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(in, "123456".toCharArray());
tmf.init(ks);
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(new MyHostnameVerifier());
HttpsURLConnection conn = (HttpsURLConnection) new URL(https)
.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null)
{
sb.append(line);
}
System.out.println(sb.toString());
}
catch (Exception e)
{
System.out.println(this.getClass().getName() + "------------"+ e.getMessage());
}
}
private class MyHostnameVerifier implements HostnameVerifier
{
@Override
public boolean verify(String hostname, SSLSession session)
{
return true;
}
}
}
0 0
- Android C端双向配置证书
- Android S端双向配置证书
- Android C端配置证书
- Tomcat 双向证书配置
- tomcat配置双向证书
- NGINX 配置双向SSL 证书
- Android S端配置证书
- keytool+tomcat配置HTTPS双向证书认证
- keytool+tomcat配置HTTPS双向证书认证
- keytool+tomcat配置HTTPS双向证书认证
- keytool+tomcat配置HTTPS双向证书认证
- Tomcat7 配置Https双向证书认证
- keytool+tomcat7配置HTTPS双向证书认证
- keytool+tomcat配置HTTPS双向证书认证
- keytool+tomcat配置HTTPS双向证书认证
- keytool+tomcat配置HTTPS双向证书认证
- keytool+tomcat配置https双向证书认证
- keytool+tomcat配置HTTPS双向证书认证
- if ___name__ =="___main___"解决
- [Guide] How to install Google Apps (GApps) on your Android Device / Phone
- mysql 函数执行权限
- pdo类
- grep常用用法
- Android C端双向配置证书
- Java网络编程中的TCP,UDP通信方式详解
- Mesos 安装
- Android屏幕上涂鸦画笔标记的实现
- Performing a deep fetch of the `master` specs repo to improve future performance
- redis学习之redis3.0.x集群搭建
- 三分_2
- Android之富有动感的底部弹窗效果
- 《昨日歌》