创建可访问https的client
- 博客分类:
- Android
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.http.conn.ssl.SSLSocketFactory;
public class SSLSocketFactoryEx extends SSLSocketFactory {
SSLContext sslContext = SSLContext.getInstance("TLS");
public SSLSocketFactoryEx(KeyStore truststore)
throws NoSuchAlgorithmException, KeyManagementException,
KeyStoreException, UnrecoverableKeyException {
super(truststore);
TrustManager tm = new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {return null;}
@Override
public void checkClientTrusted(
java.security.cert.X509Certificate[] chain, String authType)
throws java.security.cert.CertificateException {}
@Override
public void checkServerTrusted(
java.security.cert.X509Certificate[] chain, String authType)
throws java.security.cert.CertificateException {}
};
sslContext.init(null, new TrustManager[] { tm }, null);
}
@Override
public Socket createSocket(Socket socket, String host, int port,boolean autoClose) throws IOException, UnknownHostException {
return sslContext.getSocketFactory().createSocket(socket, host, port,autoClose);
}
@Override
public Socket createSocket() throws IOException {
return sslContext.getSocketFactory().createSocket();
}
}
public static DefaultHttpClient getNewHttpClient() {
try {
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);
SSLSocketFactory sf = new SSLSocketFactoryEx(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https", sf, 443));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
return new DefaultHttpClient(ccm, params);
} catch (Exception e) {
return new DefaultHttpClient();
}
}
发表评论
-
下拉刷新的代码--转发
2013-11-19 14:18 535转发别人的代码 -
播放raw中的音乐范例
2013-03-05 16:09 918package cn.test.lee; impor ... -
android中将读回的xml inputstream打印为日志
2012-05-21 10:40 2573if(StringUtils.IsShowLog) ... -
将保存的文件读为bitmap
2012-05-21 10:38 1075private boolean getSavedPng ... -
将bitmap保存为文件
2012-05-21 10:37 810private void saveBmpToSd(Bi ... -
安装apk的函数
2012-04-12 13:04 940private void installApk(){ ... -
读取存储卡剩余空间
2012-01-06 21:37 742void readSDCard() { String st ... -
向Eclipse导入linux编译生成的jar包,调试android原生app
2012-01-06 11:01 4099Android 系统应用程序 Eclipse 开 ... -
转载---AIDL代理模式讲解图
2011-12-08 20:02 784goi -
监听电话的receiver片段
2011-11-24 12:05 741public class PhoneStatRecei ... -
转载---AIDL
2011-11-14 16:29 873欢迎阅读本文,你能关注本文,你知道你需要进程间通信、 ... -
Android系统应用程序Eclipse开发环境的搭建
2011-11-09 19:19 1<!-- [if !mso]> <styl ... -
转发---Android DRM
2011-11-09 19:17 1188简而言之,DRM系统提供一套机制对用户使用手机上的媒体内容(如 ... -
android 编译单独模块的命令
2011-10-20 19:47 1<!-- [if !mso]> <styl ... -
不匀速移动的Animaiton实例XML
2011-10-20 10:16 857<?xml version="1.0" ... -
截取屏幕图像返回Bitmap的函数
2011-10-20 10:14 1731Handler mMyHandler = new Ha ... -
光影魔术手--不失真压缩图片的方法
2011-08-31 12:51 6438光影魔术手--不失真压缩图片的方法 “光影魔术手(nEO i ... -
Android JNI完整调试过程
2011-08-18 15:06 7339整个JNI的调试过程如下: 1.创建手电筒工程 在工程中加 ...
相关推荐
Microsoft sql server 2008 Native Client (SQL Server Native Client) 是一个同时包含 SQL OLE DB 访问接口和 SQL ODBC 驱动程序的动态链接库 (DLL)。它对使用本机代码 API(ODBC、OLE DB 和 ADO)连接 Microsoft ...
Microsoft SQL Server Native Client (SQL Native Client) 是一个同时包含 SQL OLE DB 访问接口和 SQL ODBC 驱动程序的动态链接库 (DLL)。它对使用本机代码 API(ODBC、OLE DB 和 ADO)连接到 Microsoft SQL Server ...
在Native中实现Server的创建和Client的访问。 由一个apk实现,使用127.0.0.1本地监听访问。
Microsoft SQL Server 2008 Native Client (SQL Server Native Client) 是一个同时包含 SQL OLE DB 访问接口和 SQL ODBC 驱动程序的动态链接库 (DLL)。它对使用本机代码 API(ODBC、OLE DB 和 ADO)连接 Microsoft ...
Borland)Delphi和Lazarus环境中使用OPC标准的机会,我们开发了支持最多的OPC软件工具包(SDK,Framework,Toolbox)常见的OPC接口和协议:OPC UA(统一架构),XML DA和经典OPC(数据访问DA,报警和事件AE和历史...
openshift-java-client, OpenShift REST API的Java客户端 OpenShift客户端 OpenShift REST API的Java客户端。 它几乎提供了 rhc-* 命令行 工具( 。创建/重命名域,创建/销毁应用程序,列出应用程序,列出可用墨盒,...
Microsoft SQL Server 2008 Native Client (SQL Server Native Client) 是一个同时包含 SQL OLE DB 访问接口和 SQL ODBC 驱动程序的动态链接库 (DLL)。它对使用本机代码 API(ODBC、OLE DB 和 ADO)连接 Microsoft ...
在系统安装/引导期间创建的帐户登录 ID 以及如何更改默认值的说明。 n 安全性相关的配置选项和设置。 n 必须受到保护的资源,如安全性相关的配置文件和密码,以及对安全操作的建议访问控制。 n 日志文件的位置及其...
http client 开源JAR包HTTP 协议是现在的因特网最重要的协议之一。除了 WEB 浏览器之外, WEB 服务,基于网络的应用程序以及日益增长的网络计算不断扩展着 HTTP 协议的角色,使得越来越多的应用程序需要 HTTP 协议的...
OPCClient适合KepServerEX-已添加外部接口,可供其它应用访问控制,也可以直接运行,简单有效。需要通过VC6.0运行。添加Item后,应用运行文件夹会自动生成对应的txt文件供访问,如需控制,创建对应的write名字的txt...
Anaconda客户 这是一个命令行客户端,提供与的接口。 快速开始: ... 有关构建Conda软件包并将其上传到Anaconda Cloud的完整教程,请访问。 链接 http://docs.anaconda.org/ https://anaconda.org
围绕着apollo客户端的小型NodeJS包装器,可轻松访问正在运行的查询,变异和订阅。 用法 安装依赖项: yarn add kikstart-graphql-client graphql 导入GraphQLClient : import { GraphQLClient } from 'kikstart...
http client 开源JAR包HTTP 协议是现在的因特网最重要的协议之一。除了 WEB 浏览器之外, WEB 服务,基于网络的应用程序以及日益增长的网络计算不断扩展着 HTTP 协议的角色,使得越来越多的应用程序需要 HTTP 协议的...
自适应客户端创建一个可扩展的,松散耦合的服务层构建细化且可测试的相互依赖的服务将服务组织成API并作为一个整体与它们一起使用注入单个客户端,该客户端允许应用程序访问API中的所有服务使用几乎零的应用程序基础...
它提供对WebSockets的低级API的访问。 所有API均用于同步功能。 websocket-client仅支持 。 执照 BSD 文献资料 该项目的文档可在找到 贡献 请在查看贡献准则。 安装 首先,安装以下依赖项: 六 适用于Python 2.x...
android-evernote-client 能够访问Evernote帐户以读取现有笔记并发布新笔记的Android应用程序。用途这是一个自我教育的应用程序,用于测试新的Evernote Android SDK。 此应用程序的计划目标是: 以标准用户身份登录...
请访问的文档 支持的API 分行 列出存储库分支 获取单个存储库分支 保护存储库分支 取消保护存储库分支 创建存储库分支 删除存储库分支 删除合并的分支 项目级变量 列出项目变量 显示项目
Navicat [1] 是一套快速、可靠并价格相宜的数据库管理工具, 专为简化数据库的管理及降低系统管理成本而设。...Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。
nginx-ssl-client 使用nginx创建用于客户端证书身份验证的简单测试服务器。... 使用浏览器访问 -您应该收到400错误请求-未发送必需的SSL证书。 下一步将是导入client.p12,但是它不起作用。 检查证书/README.md
概述 duo_client-演示客户端使用Java调用Duo API方法。 Duo Auth API Duo Auth API提供了一个低级API,用于向无法直接显示丰富Web内容的应用程序添加强大的两...可从Maven上的Duo Security获得Java API Client项目。