的Java getPeerCertificates()性能比较

问题描述:

我有一个服务器应用程序,并有一行的Java getPeerCertificates()性能比较

Certificate[] certs = sslSocket.getSession().getPeerCertificates(); 

需要5秒左右即可完成。 有没有办法让工作更快?

如果在套接字上没有完成I/O,getSession()将启动SSL握手,这可能需要很长时间。你正在与同伴交流。如果I/O已经在套接字上完成,它将工作得更快,但当然成本只是转移到第一个I/O调用。

+0

服务器和客户端之间有5Mbit线...为什么握手需要这么长时间?或者......你的意思是延迟......我是否需要减少这些主机之间的延迟?或者其他任何建议? – 2012-04-11 07:49:16

+0

噢,我的......这不是正确的答案,但给我正确的方向。其实这不是Java相关的问题,但通常是SSL。发生这种情况会导致主机解析速度慢我暂时将主机添加到我的主机文件,握手时间从5秒缩短到0.33秒。 – 2012-04-11 08:03:23