关于SSL登陆的实现
来源:互联网 发布:设计分销网络 编辑:程序博客网 时间:2024/05/05 20:19
主程序如下:
public static void main(String strArgv[])
throws Exception
{
X509TrustManager xtm = new MyTrustManager();
TrustManager mytm[] =
{xtm};
SSLContext ctx = SSLContext.getInstance("SSL");
ctx.init(null,mytm,null);
SSLSocketFactory sf = ctx.getSocketFactory();
URL url = new URL("yourhttpssite");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setSSLSocketFactory(sf);
connection.setHostnameVerifier(new MyVerified());
connection.setDoOutput(true);
BufferedReader in
= new BufferedReader(new InputStreamReader(connection.getInputStream()));
// BufferedReader in
// = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
}
------------------------MyTrustManager.java------------------------------------
package com.netutel.ubisp.util;
import javax.net.ssl.*;
import java.net.*;
import java.security.cert.*;
import java.security.cert.CertificateException;
public class MyTrustManager implements X509TrustManager {
MyTrustManager() { // constructor
// create/load keystore
}
public void checkClientTrusted(X509Certificate chain[], String authType)
throws CertificateException {
}
public void checkServerTrusted(X509Certificate chain[], String authType)
throws CertificateException {
// special handling such as poping dialog boxes
}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
}
-----------------------------MyVerified.java----------------------------------------
package com.netutel.ubisp.util;
import java.net.*;
import java.io.*;
import java.util.*;
import java.io.*;
import java.net.*;
import javax.net.ssl.*;
public class MyVerified implements HostnameVerifier {
public boolean verify(String hostname, SSLSession session) {
return true;
}
}
关键在最后一个类HostnameVerifier
具体的文章可以翻看网络的文章
- 关于SSL登陆的实现
- shiro实现SSL登陆
- asp.net中实现登陆的时候用SSL
- 关于SSL的漏洞
- 关于登陆的次数限制的简单实现
- 求助关于登陆时密码记忆功能的实现
- 通用电商项目关于登陆注册自动的实现
- C#POP3协议实现SSL验证登陆GMAIL
- 关于SSL配置的报告
- 关于SSL配置的报告
- 关于SSL配置的报告
- 关于SSL配置的报告
- 关于SSL的一些收录
- 关于SSL数字证书的整理
- 关于ssl证书的问题
- 关于MySql的SSL-Connection
- nginx ssl 登陆配置
- 登陆PUSHER的坑以及SSL/TLS的一些记录
- java入门的30个基本概念(转载)
- HtmlEditor在线编辑器V3.0提供Demo 下载,需要朋友们的热心反馈,才能提供src和Manage 的下载
- 八卦,分手问题
- 路面上NB车牌的解释
- 关于爱情
- 关于SSL登陆的实现
- BCB中封装VC控件CodeSense
- WINDOWS系统文件详解
- 翻译:8条用于分布式计算的架构技巧
- window常用命令
- 自我激励100法(1)、(2)
- 使用C++和Directx开发GUI(一)
- 使用C++和Directx开发GUI(二)
- 使用C++和Directx开发GUI(三)