Hello Stephan,

basically anything is happening between these two points.
The certificate check is performed when the SSL connection
is established. After that, the connection is available for use
by the HTTP Client, which will then:

- send HTTP headers
- send POST data
- wait for the reply from the server
- receive all headers replied by the server

The execute method returns only after the server has
responded, or a communication error occured.

I'm afraid you'll have to dig somehow deeper to discover
the problem.

cheers,
  Roland
 





"Tentrup Stephan (P/BA (INFBA))" <[EMAIL PROTECTED]>
12.02.2004 15:17
Please respond to "Commons HttpClient Project"
 
        To:     <[EMAIL PROTECTED]>
        cc: 
        Subject:        SSL - poor performance


Hi,

I am using HttpClient (2.0RC3) to make HTTP requests over SSL.
At first I specified the keystore with the trusted certificates by the 
system properties javax.net.ssl.trustStore=/path/to/keystorefile and 
javax.net.ssl.trustStorePassword=password
The performance was good in this case but I wanted to manage the 
keystore(s) in the java code. So I used the EasySSLProtocolSocketFactory 
and EasyX509TrustManager classes from the contrib directory and adjusted 
them to my needs. The functionality is alright but the time cost is very 
much higher than with the system property method. I added debug messages 
at various positions to see where the time is lost and I found that 
between the end of the checkServerTrusted method in EasyX509TrustManager 
and the end of the method executeMethod in HttpClient the highest amount 
of time gets lost. I donīt know what is happening between these two 
points. Any hints?

Stephan




Reply via email to