Details
Description
The BayeuxClient class does not support SSL (HTTPS) connections. Greg W. commented that one could extend the customize(HttpExchange exchange) method to properly configure the HTTPS protocol, but that gets into an area I'm not terribly familiar with. Presumably, the correct headers need to be set, the proper handshaking done, as well as (of course) encoding of the request envelope.
Activity
Simone Bordet
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Simone Bordet [ sbordet ] |
Simone Bordet
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Jesse McConnell
made changes -
| Original Estimate | 0 minutes [ 0 ] | |
| Remaining Estimate | 0 minutes [ 0 ] |
Jesse McConnell
made changes -
| Status | In Progress [ 3 ] | Closed [ 6 ] |
| Resolution | Fixed [ 1 ] |
After wrestling with this issue for the last day, I finally got things to work. First, there's no need to modify the customize() method--The SslSelectChannelConnector automatically takes care of all those details.
The key was to properly configure the HttpClient instance, passing in the correct values for the keystore and truststore.
There is, however, a problem of hidden access to certain fields in both HttpClient (e.g. _keyStoreType) and BayeuxClient (which hard-codes non-SSL access). These two classes should offer setters (or constructor-time parameters) for modifying ALL relevant security implementations to work properly.