src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java
changeset 51407 910f7b56592f
parent 50768 68fa3d4026ea
child 53067 8a61a04c456c
equal deleted inserted replaced
51406:f4b4dfac45b1 51407:910f7b56592f
    36 import javax.net.ssl.SSLException;
    36 import javax.net.ssl.SSLException;
    37 import javax.net.ssl.SSLHandshakeException;
    37 import javax.net.ssl.SSLHandshakeException;
    38 import javax.net.ssl.SSLProtocolException;
    38 import javax.net.ssl.SSLProtocolException;
    39 
    39 
    40 import sun.security.ssl.SSLCipher.SSLReadCipher;
    40 import sun.security.ssl.SSLCipher.SSLReadCipher;
    41 import sun.security.ssl.KeyUpdate.KeyUpdateMessage;
       
    42 import sun.security.ssl.KeyUpdate.KeyUpdateRequest;
       
    43 
    41 
    44 /**
    42 /**
    45  * {@code InputRecord} implementation for {@code SSLSocket}.
    43  * {@code InputRecord} implementation for {@code SSLSocket}.
    46  *
    44  *
    47  * @author David Brownell
    45  * @author David Brownell
   346             }
   344             }
   347 
   345 
   348             return plaintexts.toArray(new Plaintext[0]);
   346             return plaintexts.toArray(new Plaintext[0]);
   349         }
   347         }
   350 
   348 
   351         // KeyLimit check during application data.
       
   352         // atKeyLimit() inactive when limits not checked, tc set when limits
       
   353         // are active.
       
   354 
       
   355         if (readCipher.atKeyLimit()) {
       
   356             if (SSLLogger.isOn && SSLLogger.isOn("ssl")) {
       
   357                 SSLLogger.fine("KeyUpdate: triggered, read side.");
       
   358             }
       
   359 
       
   360             PostHandshakeContext p = new PostHandshakeContext(tc);
       
   361             KeyUpdate.handshakeProducer.produce(p,
       
   362                     new KeyUpdateMessage(p, KeyUpdateRequest.REQUESTED));
       
   363         }
       
   364 
       
   365         return new Plaintext[] {
   349         return new Plaintext[] {
   366                 new Plaintext(contentType,
   350                 new Plaintext(contentType,
   367                     majorVersion, minorVersion, -1, -1L, fragment)
   351                     majorVersion, minorVersion, -1, -1L, fragment)
   368             };
   352             };
   369     }
   353     }