0 0

j2me使用sslSocket与服务器端通信真机报错?5

j2me客户端代码如下 :
               String url = "ssl://192.168.0.229:9512";
SecureConnection sc = null;
InputStream is = null;
OutputStream os = null;
DataInputStream dis = null;
DataOutputStream dos = null;
try {
sc = (SecureConnection) Connector.open(url);
sc.setSocketOption(SocketConnection.LINGER, 10);
os = sc.openOutputStream();
dos = new DataOutputStream(os);

dos.writeUTF(name);
dos.flush();
服务器端使用的是apache的mina框架来处理sslsocket的 (同事开发的,里面是没有进行证书验证的,android iphone这些客户端都没有提示与证书相关的错误信息)  我用j2me的模拟器测试时也可以与服务器端正常通信 ,但是把程序安装到真机上之后,进行连接时服务器端会报错 ,错误信息如下:
        2011-10-11 17:47:00,109 INFO [org.apache.mina.filter.logging.LoggingFilter.log(LoggingFilter.java:159)] -
2011-10-11 17:47:00,109 INFO [org.apache.mina.filter.logging.LoggingFilter.log(LoggingFilter.java:159)] -
2011-10-11 17:47:00,703 INFO [org.apache.mina.filter.logging.LoggingFilter.log(LoggingFilter.java:141)] -
2011-10-11 17:47:00,703 INFO [org.apache.mina.filter.logging.LoggingFilter.log(LoggingFilter.java:141)] -
2011-10-11 17:47:00,953 INFO [org.apache.mina.filter.logging.LoggingFilter.log(LoggingFilter.java:141)] -
2011-10-11 17:47:00,953 WARN [org.apache.mina.filter.logging.LoggingFilter.log(LoggingFilter.java:123)] -
javax.net.ssl.SSLHandshakeException: SSL handshake failed.
at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:495)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:177)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:693)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:646)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:635)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1079)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.net.ssl.SSLException: Received fatal alert: bad_certificate
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.recvAlert(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(Unknown Source)
at javax.net.ssl.SSLEngine.unwrap(Unknown Source)
at org.apache.mina.filter.ssl.SslHandler.unwrap(SslHandler.java:725)
at org.apache.mina.filter.ssl.SslHandler.unwrapHandshake(SslHandler.java:663)
at org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:549)
at org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java:349)
at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:476)
... 19 more
大家帮忙看看是什么原因,其他的客户端都没提示与证书相关的信息

问题补充:
高级java工程师 写道

首先检查是否连接服务器,然后从新编译代码!!!!!!!!

什么意思?
2011年10月11日 17:51

2个答案 按时间排序 按投票排序

0 0

5 小时前 ITeye管理员 发给 我 的消息 
标题: 您好 
   
 您好  ITeye管理员 5 小时前  
尊敬的用户, 

您好! 

有用户反映您在回答问题时的答案与用户AngelAndAngel的答案过于相近,为避免抄袭的嫌疑,以后请注意遵守大赛规则,如确有抄袭行为,将取消参赛资格。 


ITeye管理员 
 回复 转发 收藏 删除   
   
 Re: 您好  
高级java工程师





我无语了有人举报我超AngelAndAngel的,我真的很无语!!我不比赛了,如果有事你加我QQ503229799

2011年10月13日 20:58
0 0


首先检查是否连接服务器,然后从新编译代码!!!!!!!!

2011年10月12日 09:45

相关推荐

Global site tag (gtag.js) - Google Analytics