Java JSSE SSLEngine nie może wznowić sesji SSL
Piszę aplikację, która używa SSLEngine z NIO, piszę zarówno klienta, jak i serwer. Klient jest w stanie połączyć się z serwerem i po jego połączeniu chcę, aby mógł on wznowić / renegocjować sesję, ale obecnie nie ma szczęścia.
Ponieważ kod wykorzystujący SSLEngine jest dość duży (użycie SSLEngine jest tak złożone!) Napiszę prosty pseudo kod, który pokazuje sytuację:
Server:
global sslcontext initialized once
await new client
client.sslEngine = create new server ssl engine using the global sslcontext
client.handleHandshake and wait for it to be done
handle client.
Client:
global sslcontext initialized once
sslEngine = create new client ssl engine using the global sslcontext
performHandshake and wait for it to be done
disconnect (close gracefully the connection)
sslEngine = create new client ssl engine using the global sslcontext
configure engine to not allow session creation
performHandshake and wait for it to be done
** Jestem bardziej niż chętny do opublikowania dowolnej części kodu, która może pomóc (nawet pełny kod, chociaż jak powiedziałem, jest ogromny ..)
kiedy wykonuję mój program pierwsze połączenie jest udane, ale drugie powoduje wyjątek:
javax.net.ssl.SSLHandshakeException: No existing session to resume
czy przegapiłem jakiś składnik wymagany do wznowienia sesji ssl?