SSLEngine fixes around HandshakeStatus, beginHandshake(), and alerts #197
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes a few various fixes for
SSLEngine
including:HandshakeStatus.FINISHED
for session tickets being received after the handshake has completed. Otherwise this may put callers into an odd state when the handshake has not finished yet.beginHandshake()
more than once can be done to instigate renegotiation. Since wolfJSSE SSLEngine implementation does not support renegotiation yet, we throw aSSLException
to make it clear to callers that is the case. This matches behavior of some other providers that do not support renegotiation.closed
when we receive fatal alerts on the client or server sides. This fix was made after running the SunJSSEEngineCloseOnAlert
test against wolfJSSE.This PR includes one change to the session resumption cache:
WOLFSSL_SESSION
is resumable. This wraps the native APIwolfSSL_SESSION_is_resumable()
inWolfSSLSession.sessionIsResumable()
and uses that to check. This will ensure we don't try to store or resume a session that native wolfSSL does not consider resumable.