加分大奉送!关于https协议 (以后我还会给你家分!) you can see http://java.sun.comthere are a "jsse"---package about https! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 改成URL url=new URL("https://127.0.0.1/index.html");如何 import javax.net.ssl.*同意一楼讲法 对,需要引入ssl包,masterz()想的也有一定道理,注意https的端口不要指定为80 如果是在IE或Netscape的Applet中使用的话,是不需要 JSSE 扩展包的,楼上几位讲的端口问题可能是关键所在。如果你是想实现一个Java Application中使用SSL的话,可以象楼上几位讲的去找一个JSSE,但是还有别的免费的实现更好,不过不管怎样,你还必须熟悉一下Java中的Keytool,以及java.security.properties的设置方法,还要去申请一个证书,还是比较烦的。:) java.security 配置如下(在原来的基础上加了一行)security.provider.3=com.sun.net.ssl.internal.ssl.Provider源程序:import java.net.*;import java.io.*;import java.security.*;import javax.net.ssl.*;public class getxml{ public static void main(String args[]) { try { System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); URL u=new URL("https://www.verisign.com/"); BufferedReader br_html=new BufferedReader(new InputStreamReader(u.openStream())); String s_line_temp,s_result=""; while((s_line_temp=br_html.readLine())!=null) { s_result+=(s_line_temp+"\n"); } System.out.println(s_result); } catch (Exception ex) { ex.printStackTrace(); } }}编译后,出现问题如下:***main, SEND SSL v3.1 ALERT: fatal, description = certificate_unknownmain, WRITE: SSL v3.1 Alert, length = 2javax.net.ssl.SSLException: untrusted server cert chain at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.ssl.ClientHandshaker.a([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.ssl.Handshaker.process_record([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.ssl.AppOutputStream.write([DashoPro-V1.2-120198]) at java.io.OutputStream.write(OutputStream.java:61) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.doConnect([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.NetworkClient.openServer([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpClient.l([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpClient.<init>([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.<init>([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.connect([DashoPro-V1.2-120198]) at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.getInputStream([DashoPro-V1.2-120198]) at java.net.URL.openStream(URL.java:798)我该怎么办? 是不是你的所请求的服务端没有可信任的ssl配置?(从报错说:没有可信任的服务器证书链) 是不是你的所请求的服务端没有可信任的ssl配置?(从报错说:没有可信任的服务器证书链)如果这样的话需要先配置你的服务端的ssl.如:luodi(无知者无畏)所说,需要向可信任的ca申请证书。 这个例子我以前测试过(jsse1.0.2),可以用。关注! 请教路人甲: 你能否将你测试过的程序,转发给我,一定要说详细那些安全方面的配置,我第一次使用ssl,不知道怎样配置ssl,还有我如何申请可信任的ca证书。请多帮忙啊!由于网速太慢,往我的mail中发吧Email: [email protected]谢谢!请各路java剑客多关照! 测测你对java内存的理解 新手想学学JAVA 有没有老大可以推荐一下学习资料,完全新手就为兴趣 smpp短信网关 明明存的表,数据库连接好的,却发出的异常是“对象名 'XX表' 无效”。 又是循环。。。 笔试时被忽悠 如何選中繪製的圖形? 超级奇怪好玩的问题,关于Applet 我有很多以前发的帖子,没有人回答,我想把它们删除,如何操作? 请大家帮帮忙,急啊! 大虾请进,bean里如何使用session? 请问高手:菜单太多,显示不全,如何解决?
security.provider.3=com.sun.net.ssl.internal.ssl.Provider源程序:
import java.net.*;
import java.io.*;
import java.security.*;
import javax.net.ssl.*;public class getxml
{
public static void main(String args[])
{
try
{
System.setProperty("java.protocol.handler.pkgs",
"com.sun.net.ssl.internal.www.protocol");
URL u=new URL("https://www.verisign.com/"); BufferedReader br_html=new BufferedReader(new InputStreamReader(u.openStream()));
String s_line_temp,s_result="";
while((s_line_temp=br_html.readLine())!=null)
{
s_result+=(s_line_temp+"\n");
}
System.out.println(s_result); }
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
编译后,出现问题如下:
***
main, SEND SSL v3.1 ALERT: fatal, description = certificate_unknown
main, WRITE: SSL v3.1 Alert, length = 2
javax.net.ssl.SSLException: untrusted server cert chain
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.ClientHandshaker.a([DashoPro-V1.2-120198
])
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage([DashoPr
o-V1.2-120198])
at com.sun.net.ssl.internal.ssl.Handshaker.process_record([DashoPro-V1.2
-120198])
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.AppOutputStream.write([DashoPro-V1.2-120
198])
at java.io.OutputStream.write(OutputStream.java:61)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake([DashoPro-V
1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.doConnect([Da
shoPro-V1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.NetworkClient.openServer(
[DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpClient.l([DashoPro-V1
.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpClient.<init>([DashoP
ro-V1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.<init>([Dasho
Pro-V1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V
1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V
1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.connec
t([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.getInp
utStream([DashoPro-V1.2-120198])
at java.net.URL.openStream(URL.java:798)
我该怎么办?
如果这样的话需要先配置你的服务端的ssl.如:luodi(无知者无畏)所说,需要向可信任的ca申请证书。
关注!
我第一次使用ssl,不知道怎样配置ssl,还有我如何申请可信任的ca证书。请多帮忙啊!由于网速太慢,往我的mail中发吧Email: [email protected]谢谢!请各路java剑客多关照!