Package org.bouncycastle.crypto.tls
Interface TlsServer
-
- All Superinterfaces:
TlsPeer
- All Known Implementing Classes:
AbstractTlsServer
,DefaultTlsServer
,MockDTLSServer
,PSKTlsServer
,SRPTlsServer
public interface TlsServer extends TlsPeer
Interface describing a TLS server endpoint.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CertificateRequest
getCertificateRequest()
CertificateStatus
getCertificateStatus()
This method will be called (only) if the server included an extension of type "status_request" with empty "extension_data" in the extended server hello.TlsCredentials
getCredentials()
TlsKeyExchange
getKeyExchange()
NewSessionTicket
getNewSessionTicket()
RFC 5077 3.3.int
getSelectedCipherSuite()
short
getSelectedCompressionMethod()
java.util.Hashtable
getServerExtensions()
java.util.Vector
getServerSupplementalData()
ProtocolVersion
getServerVersion()
void
init(TlsServerContext context)
void
notifyClientCertificate(Certificate clientCertificate)
Called by the protocol handler to report the client certificate, only ifgetCertificateRequest()
returned non-null.void
notifyClientVersion(ProtocolVersion clientVersion)
void
notifyFallback(boolean isFallback)
void
notifyOfferedCipherSuites(int[] offeredCipherSuites)
void
notifyOfferedCompressionMethods(short[] offeredCompressionMethods)
void
processClientExtensions(java.util.Hashtable clientExtensions)
void
processClientSupplementalData(java.util.Vector clientSupplementalData)
-
Methods inherited from interface org.bouncycastle.crypto.tls.TlsPeer
getCipher, getCompression, notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, requiresExtendedMasterSecret, shouldUseGMTUnixTime
-
-
-
-
Method Detail
-
init
void init(TlsServerContext context)
-
notifyClientVersion
void notifyClientVersion(ProtocolVersion clientVersion) throws java.io.IOException
- Throws:
java.io.IOException
-
notifyFallback
void notifyFallback(boolean isFallback) throws java.io.IOException
- Throws:
java.io.IOException
-
notifyOfferedCipherSuites
void notifyOfferedCipherSuites(int[] offeredCipherSuites) throws java.io.IOException
- Throws:
java.io.IOException
-
notifyOfferedCompressionMethods
void notifyOfferedCompressionMethods(short[] offeredCompressionMethods) throws java.io.IOException
- Throws:
java.io.IOException
-
processClientExtensions
void processClientExtensions(java.util.Hashtable clientExtensions) throws java.io.IOException
- Throws:
java.io.IOException
-
getServerVersion
ProtocolVersion getServerVersion() throws java.io.IOException
- Throws:
java.io.IOException
-
getSelectedCipherSuite
int getSelectedCipherSuite() throws java.io.IOException
- Throws:
java.io.IOException
-
getSelectedCompressionMethod
short getSelectedCompressionMethod() throws java.io.IOException
- Throws:
java.io.IOException
-
getServerExtensions
java.util.Hashtable getServerExtensions() throws java.io.IOException
- Throws:
java.io.IOException
-
getServerSupplementalData
java.util.Vector getServerSupplementalData() throws java.io.IOException
- Throws:
java.io.IOException
-
getCredentials
TlsCredentials getCredentials() throws java.io.IOException
- Throws:
java.io.IOException
-
getCertificateStatus
CertificateStatus getCertificateStatus() throws java.io.IOException
This method will be called (only) if the server included an extension of type "status_request" with empty "extension_data" in the extended server hello. See RFC 3546 3.6. Certificate Status Request. If a non-nullCertificateStatus
is returned, it is sent to the client as a handshake message of type "certificate_status".- Returns:
- A
CertificateStatus
to be sent to the client (or null for none). - Throws:
java.io.IOException
-
getKeyExchange
TlsKeyExchange getKeyExchange() throws java.io.IOException
- Throws:
java.io.IOException
-
getCertificateRequest
CertificateRequest getCertificateRequest() throws java.io.IOException
- Throws:
java.io.IOException
-
processClientSupplementalData
void processClientSupplementalData(java.util.Vector clientSupplementalData) throws java.io.IOException
- Throws:
java.io.IOException
-
notifyClientCertificate
void notifyClientCertificate(Certificate clientCertificate) throws java.io.IOException
Called by the protocol handler to report the client certificate, only ifgetCertificateRequest()
returned non-null. Note: this method is responsible for certificate verification and validation.- Parameters:
clientCertificate
- the effective client certificate (may be an empty chain).- Throws:
java.io.IOException
-
getNewSessionTicket
NewSessionTicket getNewSessionTicket() throws java.io.IOException
RFC 5077 3.3. NewSessionTicket Handshake Message.This method will be called (only) if a NewSessionTicket extension was sent by the server. See RFC 5077 4. Recommended Ticket Construction for recommended format and protection.
- Returns:
- The ticket.
- Throws:
java.io.IOException
-
-