最近在做https双向认证的时候发现异常请帮忙看看

amdgaming 2011-09-02 10:04:51
我们连某银行系统 :
测试服务器可以把报文发过去,

正式服务器就是不行。
报这个错


02 21:15:00 CST 2011
java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:318)



测试可以 过去的报文对方有证书主题
但是线上的过去没有证书主题

以下分别是他们抓的成功的和失败的包


成功的报文:
[进程6775][16:06:54]SSL connection using RC4-MD5
[进程6775][16:06:54]Client certificate:
[进程6775][16:06:54]Client certificate: subject: /C=CN/O=PAIC/OU=EE_SIGNING/CN=EXV_BIS_IFRONT_YIHAODIAN_003_PRD
[进程6775][16:06:54]Client certificate: CN: PRD
[进程6775][16:06:54]Client certificate: issuer: /C=CN/O=PAIC/CN=PAIC CA
[进程6775][16:06:54]transmitsvr:证书主题 CN =[PRD]
[进程6775][16:06:54]转换为大写的证书主题[_PRD]!
[进程6775][16:06:54]id=[000021] ip=[PRD] sys_code=[LPMS01] port_num=[xxxx] timeout=[30] head_len=[0] ms
g_pos=[0] region_code=[] head_type=[HTTPS] max_proc=[0]
[进程6775][16:06:54]transmitsvr:获取节点transactiontype=[COMMON]
[进程6775][16:06:54]RecvDataFromSocket() ip_table_head_type=[HTTPS]
[进程6775][16:06:54]SSL开始读取数据....
[进程6775][16:06:54]SSL获取HTTP回复头成功![POST /invoke/receive HTTP/1.1
Content-Type: text/xml
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Java/1.6.0_10-rc2
Connection: keep-alive
Content-Length: 678

]
[进程6775][16:06:54]SSL获取HTTP回复内容长度为[278]
</feedba
ckInfoList></request>]







失败的报文:

[进程6770][15:15:01]SSL connection using RC4-MD5
[进程6770][15:15:01]Client does not have certificate.
[进程6770][15:15:01]transmitsvr:证书主题 CN =[N]
[进程6770][15:15:01]transmitsvr:获取节点transactiontype=[COMMON]
[进程6770][15:15:01]RecvDataFromSocket() ip_table_head_type=[HTTPS]
[进程6770][15:15:01]SSL开始读取数据....
[进程6770][15:15:01]SSL获取HTTP回复头成功![POST /invoke/receive HTTP/1.1
Content-Type: text/xml
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Java/1.6.0_24
Host: eairiis-prddmz.paic.com.cn
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 641

]
[进程6770][15:15:01]SSL获取HTTP回复内容长度为[274]






对方给的 是我们生产没有把主题传过去,但是我们测试生产都一样的代码 部署目录 环境

请高人指点 谢了

...全文
300 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把 URLConnection 强转成 javax.net.ssl.HttpsURLConnection 这里有些方法可以看到本地发送出去的证书链。

这个异常应该是 HTTPS 响应报文第一行的数据就有问题,状态行不是以 HTTP/1. 开头的

amdgaming 2011-09-04
  • 打赏
  • 举报
回复
已经找到问题了
谢谢各位

可能 出口ip 被过滤了什么东西

或者对方 禁止了我的ip 什么的 现在 原因还未知

qybao 2011-09-04
  • 打赏
  • 举报
回复
java.net.SocketException: Unexpected end of file from server
看错误提示,返回的信息格式匹配不上,解析出错了。会不会两个系统编码上有什么差异?
yingle2000 2011-09-04
  • 打赏
  • 举报
回复
报错说的是服务器断开连接了,而这时不应该断开连接,应该查一下服务器有什么问题。
amdgaming 2011-09-04
  • 打赏
  • 举报
回复
有搞过的 朋友吗?
谢谢了

很急。。。。
淡定的峰哥 2011-09-03
  • 打赏
  • 举报
回复
我不知道你为什么要放到properties里面,如果证书加载成功了,你打印一下keystore中的证书信息看看
amdgaming 2011-09-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wangxf_8341 的回复:]

引用 4 楼 amdgaming 的回复:
用的证书是2个 一个pfx一个jks

现在生产环境过去包 就是 没有证书主题

测试环境的证书什么格式的 生产环境证书什么格式的
测试环境的jdk是sun的还是IBM的
生产上呢
你可以看一下生产上的日志
加载证书的时候有没有错误日志
[/Quote]

测试生产都是 sun jdk 64的

版本号相差很小 都是1.6.0.××的,生产测试都一样2个文件一个jks,一个pfx

我加载证书 是

System。setproperty(keystorepath);
System。setproperty(truststorepath);

然后 在getproperty出来我看到日志是没有问题的

还有什么其他办法可以看 生产库 证书 是否加载 正常???
安心逍遥 2011-09-03
  • 打赏
  • 举报
回复
看一下日志吧

没弄过,帮顶了

祝楼主好运
淡定的峰哥 2011-09-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 amdgaming 的回复:]
用的证书是2个 一个pfx一个jks

现在生产环境过去包 就是 没有证书主题
[/Quote]
测试环境的证书什么格式的 生产环境证书什么格式的
测试环境的jdk是sun的还是IBM的
生产上呢
你可以看一下生产上的日志
加载证书的时候有没有错误日志
client_user 2011-09-03
  • 打赏
  • 举报
回复
进来溜一圈!顶起!
amdgaming 2011-09-03
  • 打赏
  • 举报
回复
各位请多多帮忙啊
amdgaming 2011-09-03
  • 打赏
  • 举报
回复
还有谁 遇到这种情况 吗???

可以截取 服务器出去的数据包 看看他是否有证书主题么???
amdgaming 2011-09-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wangxf_8341 的回复:]

我不知道你为什么要放到properties里面,如果证书加载成功了,你打印一下keystore中的证书信息看看
[/Quote]

怎么打印? 能否告诉我下
amdgaming 2011-09-02
  • 打赏
  • 举报
回复
用的证书是2个 一个pfx一个jks

现在生产环境过去包 就是 没有证书主题
amdgaming 2011-09-02
  • 打赏
  • 举报
回复
大家帮忙看看 非常急 。。。。
teemai 2011-09-02
  • 打赏
  • 举报
回复
帮顶下!不会!
  • 打赏
  • 举报
回复
帮顶起来吧

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧