public abstract class AbstractTlsServer extends AbstractTlsPeer implements TlsServer
| Modifier and Type | Field and Description |
|---|---|
protected TlsCipherFactory |
cipherFactory |
protected short[] |
clientECPointFormats |
protected java.util.Hashtable |
clientExtensions |
protected ProtocolVersion |
clientVersion |
protected TlsServerContext |
context |
protected boolean |
eccCipherSuitesOffered |
protected boolean |
encryptThenMACOffered |
protected short |
maxFragmentLengthOffered |
protected int[] |
namedCurves |
protected int[] |
offeredCipherSuites |
protected short[] |
offeredCompressionMethods |
protected int |
selectedCipherSuite |
protected short |
selectedCompressionMethod |
protected short[] |
serverECPointFormats |
protected java.util.Hashtable |
serverExtensions |
protected ProtocolVersion |
serverVersion |
protected java.util.Vector |
supportedSignatureAlgorithms |
protected boolean |
truncatedHMacOffered |
| Constructor and Description |
|---|
AbstractTlsServer() |
AbstractTlsServer(TlsCipherFactory cipherFactory) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
allowEncryptThenMAC() |
protected boolean |
allowTruncatedHMac() |
protected java.util.Hashtable |
checkServerExtensions() |
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.
|
TlsCipher |
getCipher() |
protected abstract int[] |
getCipherSuites() |
TlsCompression |
getCompression() |
protected short[] |
getCompressionMethods() |
protected ProtocolVersion |
getMaximumVersion() |
protected ProtocolVersion |
getMinimumVersion() |
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 if
TlsServer.getCertificateRequest() 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) |
protected boolean |
supportsClientECCCapabilities(int[] namedCurves,
short[] ecPointFormats) |
notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTimeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCredentials, getKeyExchangenotifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTimeprotected TlsCipherFactory cipherFactory
protected TlsServerContext context
protected ProtocolVersion clientVersion
protected int[] offeredCipherSuites
protected short[] offeredCompressionMethods
protected java.util.Hashtable clientExtensions
protected boolean encryptThenMACOffered
protected short maxFragmentLengthOffered
protected boolean truncatedHMacOffered
protected java.util.Vector supportedSignatureAlgorithms
protected boolean eccCipherSuitesOffered
protected int[] namedCurves
protected short[] clientECPointFormats
protected short[] serverECPointFormats
protected ProtocolVersion serverVersion
protected int selectedCipherSuite
protected short selectedCompressionMethod
protected java.util.Hashtable serverExtensions
public AbstractTlsServer()
public AbstractTlsServer(TlsCipherFactory cipherFactory)
protected boolean allowEncryptThenMAC()
protected boolean allowTruncatedHMac()
protected java.util.Hashtable checkServerExtensions()
protected abstract int[] getCipherSuites()
protected short[] getCompressionMethods()
protected ProtocolVersion getMaximumVersion()
protected ProtocolVersion getMinimumVersion()
protected boolean supportsClientECCCapabilities(int[] namedCurves,
short[] ecPointFormats)
public void init(TlsServerContext context)
public void notifyClientVersion(ProtocolVersion clientVersion) throws java.io.IOException
notifyClientVersion in interface TlsServerjava.io.IOExceptionpublic void notifyFallback(boolean isFallback)
throws java.io.IOException
notifyFallback in interface TlsServerjava.io.IOExceptionpublic void notifyOfferedCipherSuites(int[] offeredCipherSuites)
throws java.io.IOException
notifyOfferedCipherSuites in interface TlsServerjava.io.IOExceptionpublic void notifyOfferedCompressionMethods(short[] offeredCompressionMethods)
throws java.io.IOException
notifyOfferedCompressionMethods in interface TlsServerjava.io.IOExceptionpublic void processClientExtensions(java.util.Hashtable clientExtensions)
throws java.io.IOException
processClientExtensions in interface TlsServerjava.io.IOExceptionpublic ProtocolVersion getServerVersion() throws java.io.IOException
getServerVersion in interface TlsServerjava.io.IOExceptionpublic int getSelectedCipherSuite()
throws java.io.IOException
getSelectedCipherSuite in interface TlsServerjava.io.IOExceptionpublic short getSelectedCompressionMethod()
throws java.io.IOException
getSelectedCompressionMethod in interface TlsServerjava.io.IOExceptionpublic java.util.Hashtable getServerExtensions()
throws java.io.IOException
getServerExtensions in interface TlsServerjava.io.IOExceptionpublic java.util.Vector getServerSupplementalData()
throws java.io.IOException
getServerSupplementalData in interface TlsServerjava.io.IOExceptionpublic CertificateStatus getCertificateStatus() throws java.io.IOException
TlsServerCertificateStatus is returned, it
is sent to the client as a handshake message of type "certificate_status".getCertificateStatus in interface TlsServerCertificateStatus to be sent to the client (or null for none).java.io.IOExceptionpublic CertificateRequest getCertificateRequest() throws java.io.IOException
getCertificateRequest in interface TlsServerjava.io.IOExceptionpublic void processClientSupplementalData(java.util.Vector clientSupplementalData)
throws java.io.IOException
processClientSupplementalData in interface TlsServerjava.io.IOExceptionpublic void notifyClientCertificate(Certificate clientCertificate) throws java.io.IOException
TlsServerTlsServer.getCertificateRequest() returned non-null.
Note: this method is responsible for certificate verification and validation.notifyClientCertificate in interface TlsServerclientCertificate - the effective client certificate (may be an empty chain).java.io.IOExceptionpublic TlsCompression getCompression() throws java.io.IOException
getCompression in interface TlsPeerjava.io.IOExceptionpublic TlsCipher getCipher() throws java.io.IOException
public NewSessionTicket getNewSessionTicket() throws java.io.IOException
TlsServerThis 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.
getNewSessionTicket in interface TlsServerjava.io.IOException