diff --git a/src/java/com/wolfssl/provider/jsse/WolfSSLEngine.java b/src/java/com/wolfssl/provider/jsse/WolfSSLEngine.java index 45a908d8..be6cee75 100644 --- a/src/java/com/wolfssl/provider/jsse/WolfSSLEngine.java +++ b/src/java/com/wolfssl/provider/jsse/WolfSSLEngine.java @@ -962,6 +962,7 @@ else if ((produced > 0) && !inBoundOpen && * since we won't be sending anything after the alert went * out. */ this.outBoundOpen = false; + this.closed = true; } else if (produced == 0) { /* continue handshake or application data */ @@ -1671,6 +1672,7 @@ else if (ret < 0 && * close outbound since we won't be receiving * any more data */ this.outBoundOpen = false; + this.closed = true; } /* Throw SSLHandshakeException if handshake not * finished, otherwise throw SSLException for diff --git a/src/java/com/wolfssl/provider/jsse/WolfSSLSocket.java b/src/java/com/wolfssl/provider/jsse/WolfSSLSocket.java index b8d20a3f..f009337f 100644 --- a/src/java/com/wolfssl/provider/jsse/WolfSSLSocket.java +++ b/src/java/com/wolfssl/provider/jsse/WolfSSLSocket.java @@ -2055,9 +2055,6 @@ public synchronized void close() throws IOException { try { if (beforeObjectInit == false) { - /* Ensure SSL state exists before TLS-specific close path. */ - checkAndInitSSLSocket(); - /* Check if underlying Socket is still open before closing, * in case application calls SSLSocket.close() multiple times */ WolfSSLDebug.log(getClass(), WolfSSLDebug.INFO,