org.bouncycastle.crypto.tls
Class AbstractTlsServer
java.lang.Object
org.bouncycastle.crypto.tls.AbstractTlsPeer
org.bouncycastle.crypto.tls.AbstractTlsServer
- All Implemented Interfaces:
- TlsPeer, TlsServer
- Direct Known Subclasses:
- DefaultTlsServer
public abstract class AbstractTlsServer
- extends AbstractTlsPeer
- implements TlsServer
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
cipherFactory
protected TlsCipherFactory cipherFactory
context
protected TlsServerContext context
clientVersion
protected ProtocolVersion clientVersion
offeredCipherSuites
protected int[] offeredCipherSuites
offeredCompressionMethods
protected short[] offeredCompressionMethods
clientExtensions
protected java.util.Hashtable clientExtensions
maxFragmentLengthOffered
protected short maxFragmentLengthOffered
truncatedHMacOffered
protected boolean truncatedHMacOffered
supportedSignatureAlgorithms
protected java.util.Vector supportedSignatureAlgorithms
eccCipherSuitesOffered
protected boolean eccCipherSuitesOffered
namedCurves
protected int[] namedCurves
clientECPointFormats
protected short[] clientECPointFormats
serverECPointFormats
protected short[] serverECPointFormats
serverVersion
protected ProtocolVersion serverVersion
selectedCipherSuite
protected int selectedCipherSuite
selectedCompressionMethod
protected short selectedCompressionMethod
serverExtensions
protected java.util.Hashtable serverExtensions
AbstractTlsServer
public AbstractTlsServer()
AbstractTlsServer
public AbstractTlsServer(TlsCipherFactory cipherFactory)
allowTruncatedHMac
protected boolean allowTruncatedHMac()
checkServerExtensions
protected java.util.Hashtable checkServerExtensions()
getCipherSuites
protected abstract int[] getCipherSuites()
getCompressionMethods
protected short[] getCompressionMethods()
getMaximumVersion
protected ProtocolVersion getMaximumVersion()
getMinimumVersion
protected ProtocolVersion getMinimumVersion()
supportsClientECCCapabilities
protected boolean supportsClientECCCapabilities(int[] namedCurves,
short[] ecPointFormats)
init
public void init(TlsServerContext context)
- Specified by:
init
in interface TlsServer
notifyClientVersion
public void notifyClientVersion(ProtocolVersion clientVersion)
throws java.io.IOException
- Specified by:
notifyClientVersion
in interface TlsServer
- Throws:
java.io.IOException
notifyOfferedCipherSuites
public void notifyOfferedCipherSuites(int[] offeredCipherSuites)
throws java.io.IOException
- Specified by:
notifyOfferedCipherSuites
in interface TlsServer
- Throws:
java.io.IOException
notifyOfferedCompressionMethods
public void notifyOfferedCompressionMethods(short[] offeredCompressionMethods)
throws java.io.IOException
- Specified by:
notifyOfferedCompressionMethods
in interface TlsServer
- Throws:
java.io.IOException
processClientExtensions
public void processClientExtensions(java.util.Hashtable clientExtensions)
throws java.io.IOException
- Specified by:
processClientExtensions
in interface TlsServer
- Throws:
java.io.IOException
getServerVersion
public ProtocolVersion getServerVersion()
throws java.io.IOException
- Specified by:
getServerVersion
in interface TlsServer
- Throws:
java.io.IOException
getSelectedCipherSuite
public int getSelectedCipherSuite()
throws java.io.IOException
- Specified by:
getSelectedCipherSuite
in interface TlsServer
- Throws:
java.io.IOException
getSelectedCompressionMethod
public short getSelectedCompressionMethod()
throws java.io.IOException
- Specified by:
getSelectedCompressionMethod
in interface TlsServer
- Throws:
java.io.IOException
getServerExtensions
public java.util.Hashtable getServerExtensions()
throws java.io.IOException
- Specified by:
getServerExtensions
in interface TlsServer
- Throws:
java.io.IOException
getServerSupplementalData
public java.util.Vector getServerSupplementalData()
throws java.io.IOException
- Specified by:
getServerSupplementalData
in interface TlsServer
- Throws:
java.io.IOException
getCertificateStatus
public CertificateStatus getCertificateStatus()
throws java.io.IOException
- Description copied from interface:
TlsServer
- 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-null
CertificateStatus
is returned, it
is sent to the client as a handshake message of type "certificate_status".
- Specified by:
getCertificateStatus
in interface TlsServer
- Returns:
- A
CertificateStatus
to be sent to the client (or null for none).
- Throws:
java.io.IOException
getCertificateRequest
public CertificateRequest getCertificateRequest()
throws java.io.IOException
- Specified by:
getCertificateRequest
in interface TlsServer
- Throws:
java.io.IOException
processClientSupplementalData
public void processClientSupplementalData(java.util.Vector clientSupplementalData)
throws java.io.IOException
- Specified by:
processClientSupplementalData
in interface TlsServer
- Throws:
java.io.IOException
notifyClientCertificate
public void notifyClientCertificate(Certificate clientCertificate)
throws java.io.IOException
- Description copied from interface:
TlsServer
- Called by the protocol handler to report the client certificate, only if
TlsServer.getCertificateRequest()
returned non-null.
Note: this method is responsible for certificate verification and validation.
- Specified by:
notifyClientCertificate
in interface TlsServer
- Parameters:
clientCertificate
- the effective client certificate (may be an empty chain).
- Throws:
java.io.IOException
getCompression
public TlsCompression getCompression()
throws java.io.IOException
- Specified by:
getCompression
in interface TlsPeer
- Throws:
java.io.IOException
getNewSessionTicket
public NewSessionTicket getNewSessionTicket()
throws java.io.IOException
- Description copied from interface:
TlsServer
- 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.
- Specified by:
getNewSessionTicket
in interface TlsServer
- Returns:
- The ticket.
- Throws:
java.io.IOException