Package javax.net.ssl.SSLEngineResult

Examples of javax.net.ssl.SSLEngineResult.Status


                            LOG.debug("{} filled {}",SslConnection.this,BufferUtil.toHexSummary(buffer));
                        }

                        HandshakeStatus handshakeStatus = _sslEngine.getHandshakeStatus();
                        HandshakeStatus unwrapHandshakeStatus = unwrapResult.getHandshakeStatus();
                        Status unwrapResultStatus = unwrapResult.getStatus();

                        _underFlown = unwrapResultStatus == Status.BUFFER_UNDERFLOW;

                        if (_underFlown)
                        {
View Full Code Here


                    int pos = BufferUtil.flipToFill(_encryptedOutput);
                    SSLEngineResult wrapResult = _sslEngine.wrap(appOuts, _encryptedOutput);
                    if (DEBUG)
                        LOG.debug("{} wrap {}", SslConnection.this, wrapResult.toString().replace('\n',' '));
                    BufferUtil.flipToFlush(_encryptedOutput, pos);
                    Status wrapResultStatus = wrapResult.getStatus();
                   
                    boolean allConsumed=true;
                    for (ByteBuffer b : appOuts)
                        if (BufferUtil.hasContent(b))
                            allConsumed=false
View Full Code Here

        while (true) {
            SSLEngineResult result = _sslEngine.unwrap(_inputBuffer, _decodedInputBuffer);
            logEngineClientModeAndResult(result, "input");

            int read = result.bytesProduced();
            Status status = result.getStatus();
            HandshakeStatus hstatus = result.getHandshakeStatus();

            int capacity = _underlyingInput.capacity();
            if (capacity == Transport.END_OF_STREAM) {
                _tail_closed = true;
View Full Code Here

            int written = result.bytesConsumed();
            _underlyingOutput.pop(written);
            pending = _underlyingOutput.pending();

            Status status = result.getStatus();
            switch (status) {
            case CLOSED:
                _head_closed = true;
                break;
            case OK:
View Full Code Here

         {
            m_outNetData.clear();
            engineResult = m_engine.wrap(dummy, m_outNetData);
            s_logger.dump(engineResult);

            Status engineStatus = engineResult.getStatus();

            if (engineStatus == Status.OK)
            {
               // normal
               m_outNetData.flip();
               hsStatus = engineResult.getHandshakeStatus();
            }
            else if (engineStatus == Status.CLOSED)
            {
               m_nState = STATE_CLOSED;

               break;
            }
            else
            {
               // unexpected handshake status
               throw new IOException("Unexpected SSL engine status after call to wrap(). Expected "
                  + Status.OK + ", got " + engineStatus);
            }

            // write data to socket
            flushData();
         }
         else if (hsStatus == HandshakeStatus.NEED_UNWRAP)
         {
            int n = m_socketChannel.read(m_inNetData);

            if (n < 0)
            {
               // EOF, so set to closed
               m_nState = STATE_CLOSED;

               break;
            }
            else if (n == 0 && m_inNetData.position() == 0)
            {
               // No data to unwrap
               break;
            }

            ByteBuffer tmpAppData = ByteBuffer.allocate(m_engine.getSession().getApplicationBufferSize());
            Status engineStatus;

            m_inNetData.flip();
            tmpAppData.clear();

            do
View Full Code Here

         for (;;)
         {
            m_inNetData.flip();

            SSLEngineResult engineResult = m_engine.unwrap(m_inNetData, m_inAppData);
            Status engineStatus = engineResult.getStatus();

            s_logger.dump(engineResult);
            m_inNetData.compact();

            if (engineStatus == Status.CLOSED)
View Full Code Here

      // all pending bytes have been written
      m_outNetData.clear();

      SSLEngineResult engineResult = m_engine.wrap(src, m_outNetData);
      Status engineStatus = engineResult.getStatus();

      s_logger.dump(engineResult);
      m_outNetData.flip();

      if (engineStatus == Status.OK)
View Full Code Here

         {
            // generate close message
            m_outNetData.clear();

            SSLEngineResult engineResult = m_engine.wrap(dummy, m_outNetData);
            Status engineStatus = engineResult.getStatus();

            s_logger.dump(engineResult);

            if (engineStatus != Status.CLOSED)
            {
View Full Code Here

                        socketWriteBuffer.clear();

                        // Encrypt the data
                        SSLEngineResult r = sslEngine.wrap(src, socketWriteBuffer);
                        written += r.bytesConsumed();
                        Status s = r.getStatus();

                        if (s == Status.OK || s == Status.BUFFER_OVERFLOW) {
                            // Need to write out the bytes and may need to read from
                            // the source again to empty it
                        } else {
View Full Code Here

                    if (socketReadBuffer.hasRemaining()) {
                        // Decrypt the data in the buffer
                        SSLEngineResult r =
                                sslEngine.unwrap(socketReadBuffer, dest);
                        read += r.bytesProduced();
                        Status s = r.getStatus();

                        if (s == Status.OK) {
                            // Bytes available for reading and there may be
                            // sufficient data in the socketReadBuffer to
                            // support further reads without reading from the
View Full Code Here

TOP

Related Classes of javax.net.ssl.SSLEngineResult.Status

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.