public class TlsServerProtocol extends TlsProtocol
Modifier and Type | Field and Description |
---|---|
protected CertificateRequest |
certificateRequest |
protected short |
clientCertificateType |
protected TlsKeyExchange |
keyExchange |
protected TlsHandshakeHash |
prepareFinishHash |
protected TlsCredentials |
serverCredentials |
protected TlsServer |
tlsServer |
protected org.bouncycastle.crypto.tls.TlsServerContextImpl |
tlsServerContext |
allowCertificateStatus, clientExtensions, connection_state, CS_CERTIFICATE_REQUEST, CS_CERTIFICATE_STATUS, CS_CERTIFICATE_VERIFY, CS_CLIENT_CERTIFICATE, CS_CLIENT_FINISHED, CS_CLIENT_HELLO, CS_CLIENT_KEY_EXCHANGE, CS_CLIENT_SUPPLEMENTAL_DATA, CS_END, CS_SERVER_CERTIFICATE, CS_SERVER_FINISHED, CS_SERVER_HELLO, CS_SERVER_HELLO_DONE, CS_SERVER_KEY_EXCHANGE, CS_SERVER_SESSION_TICKET, CS_SERVER_SUPPLEMENTAL_DATA, CS_START, expectSessionTicket, EXT_RenegotiationInfo, EXT_SessionTicket, offeredCipherSuites, offeredCompressionMethods, peerCertificate, receivedChangeCipherSpec, recordStream, resumedSession, secure_renegotiation, secureRandom, securityParameters, serverExtensions, sessionParameters, tlsSession
Constructor and Description |
---|
TlsServerProtocol(java.io.InputStream input,
java.io.OutputStream output,
java.security.SecureRandom secureRandom) |
Modifier and Type | Method and Description |
---|---|
void |
accept(TlsServer tlsServer)
Receives a TLS handshake in the role of server
|
protected void |
cleanupHandshake() |
protected boolean |
expectCertificateVerifyMessage() |
protected org.bouncycastle.crypto.tls.AbstractTlsContext |
getContext() |
protected TlsPeer |
getPeer() |
protected void |
handleHandshakeMessage(short type,
byte[] data) |
protected void |
handleWarningMessage(short description) |
protected void |
notifyClientCertificate(Certificate clientCertificate) |
protected void |
receiveCertificateMessage(java.io.ByteArrayInputStream buf) |
protected void |
receiveCertificateVerifyMessage(java.io.ByteArrayInputStream buf) |
protected void |
receiveClientHelloMessage(java.io.ByteArrayInputStream buf) |
protected void |
receiveClientKeyExchangeMessage(java.io.ByteArrayInputStream buf) |
protected void |
sendCertificateRequestMessage(CertificateRequest certificateRequest) |
protected void |
sendCertificateStatusMessage(CertificateStatus certificateStatus) |
protected void |
sendNewSessionTicketMessage(NewSessionTicket newSessionTicket) |
protected void |
sendServerHelloDoneMessage() |
protected void |
sendServerHelloMessage() |
protected void |
sendServerKeyExchangeMessage(byte[] serverKeyExchange) |
applicationDataAvailable, assertEmpty, close, completeHandshake, createRandomBlock, createRenegotiationInfo, createVerifyData, establishMasterSecret, failWithError, flush, getCurrentPRFHash, getInputStream, getOutputStream, getPRFAlgorithm, handleChangeCipherSpecMessage, handleClose, invalidateSession, processFinishedMessage, processMaxFragmentLengthExtension, processRecord, raiseAlert, raiseWarning, readApplicationData, readExtensions, readSupplementalDataMessage, safeReadRecord, safeWriteRecord, sendCertificateMessage, sendChangeCipherSpecMessage, sendFinishedMessage, sendSupplementalDataMessage, writeData, writeExtensions, writeHandshakeMessage, writeSupplementalData
protected TlsServer tlsServer
protected org.bouncycastle.crypto.tls.TlsServerContextImpl tlsServerContext
protected TlsKeyExchange keyExchange
protected TlsCredentials serverCredentials
protected CertificateRequest certificateRequest
protected short clientCertificateType
protected TlsHandshakeHash prepareFinishHash
public TlsServerProtocol(java.io.InputStream input, java.io.OutputStream output, java.security.SecureRandom secureRandom)
public void accept(TlsServer tlsServer) throws java.io.IOException
tlsServer
- java.io.IOException
- If handshake was not successful.protected void cleanupHandshake()
cleanupHandshake
in class TlsProtocol
protected org.bouncycastle.crypto.tls.AbstractTlsContext getContext()
getContext
in class TlsProtocol
protected TlsPeer getPeer()
getPeer
in class TlsProtocol
protected void handleHandshakeMessage(short type, byte[] data) throws java.io.IOException
handleHandshakeMessage
in class TlsProtocol
java.io.IOException
protected void handleWarningMessage(short description) throws java.io.IOException
handleWarningMessage
in class TlsProtocol
java.io.IOException
protected void notifyClientCertificate(Certificate clientCertificate) throws java.io.IOException
java.io.IOException
protected void receiveCertificateMessage(java.io.ByteArrayInputStream buf) throws java.io.IOException
java.io.IOException
protected void receiveCertificateVerifyMessage(java.io.ByteArrayInputStream buf) throws java.io.IOException
java.io.IOException
protected void receiveClientHelloMessage(java.io.ByteArrayInputStream buf) throws java.io.IOException
java.io.IOException
protected void receiveClientKeyExchangeMessage(java.io.ByteArrayInputStream buf) throws java.io.IOException
java.io.IOException
protected void sendCertificateRequestMessage(CertificateRequest certificateRequest) throws java.io.IOException
java.io.IOException
protected void sendCertificateStatusMessage(CertificateStatus certificateStatus) throws java.io.IOException
java.io.IOException
protected void sendNewSessionTicketMessage(NewSessionTicket newSessionTicket) throws java.io.IOException
java.io.IOException
protected void sendServerHelloMessage() throws java.io.IOException
java.io.IOException
protected void sendServerHelloDoneMessage() throws java.io.IOException
java.io.IOException
protected void sendServerKeyExchangeMessage(byte[] serverKeyExchange) throws java.io.IOException
java.io.IOException
protected boolean expectCertificateVerifyMessage()