public abstract class AbstractTlsServer extends AbstractTlsPeer implements TlsServer
Modifier and Type | Field and Description |
---|---|
protected TlsCipherFactory |
cipherFactory |
protected short[] |
clientECPointFormats |
protected 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 Hashtable |
serverExtensions |
protected ProtocolVersion |
serverVersion |
protected Vector |
supportedSignatureAlgorithms |
protected boolean |
truncatedHMacOffered |
Constructor and Description |
---|
AbstractTlsServer() |
AbstractTlsServer(TlsCipherFactory cipherFactory) |
notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTime
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getCredentials, getKeyExchange
notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTime
protected TlsCipherFactory cipherFactory
protected TlsServerContext context
protected ProtocolVersion clientVersion
protected int[] offeredCipherSuites
protected short[] offeredCompressionMethods
protected Hashtable clientExtensions
protected boolean encryptThenMACOffered
protected short maxFragmentLengthOffered
protected boolean truncatedHMacOffered
protected Vector supportedSignatureAlgorithms
protected boolean eccCipherSuitesOffered
protected int[] namedCurves
protected short[] clientECPointFormats
protected short[] serverECPointFormats
protected ProtocolVersion serverVersion
protected int selectedCipherSuite
protected short selectedCompressionMethod
protected Hashtable serverExtensions
public AbstractTlsServer()
public AbstractTlsServer(TlsCipherFactory cipherFactory)
protected boolean allowEncryptThenMAC()
protected boolean allowTruncatedHMac()
protected 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 IOException
notifyClientVersion
in interface TlsServer
IOException
public void notifyFallback(boolean isFallback) throws IOException
notifyFallback
in interface TlsServer
IOException
public void notifyOfferedCipherSuites(int[] offeredCipherSuites) throws IOException
notifyOfferedCipherSuites
in interface TlsServer
IOException
public void notifyOfferedCompressionMethods(short[] offeredCompressionMethods) throws IOException
notifyOfferedCompressionMethods
in interface TlsServer
IOException
public void processClientExtensions(Hashtable clientExtensions) throws IOException
processClientExtensions
in interface TlsServer
IOException
public ProtocolVersion getServerVersion() throws IOException
getServerVersion
in interface TlsServer
IOException
public int getSelectedCipherSuite() throws IOException
getSelectedCipherSuite
in interface TlsServer
IOException
public short getSelectedCompressionMethod() throws IOException
getSelectedCompressionMethod
in interface TlsServer
IOException
public Hashtable getServerExtensions() throws IOException
getServerExtensions
in interface TlsServer
IOException
public Vector getServerSupplementalData() throws IOException
getServerSupplementalData
in interface TlsServer
IOException
public CertificateStatus getCertificateStatus() throws IOException
TlsServer
CertificateStatus
is returned, it
is sent to the client as a handshake message of type "certificate_status".getCertificateStatus
in interface TlsServer
CertificateStatus
to be sent to the client (or null for none).IOException
public CertificateRequest getCertificateRequest() throws IOException
getCertificateRequest
in interface TlsServer
IOException
public void processClientSupplementalData(Vector clientSupplementalData) throws IOException
processClientSupplementalData
in interface TlsServer
IOException
public void notifyClientCertificate(Certificate clientCertificate) throws IOException
TlsServer
TlsServer.getCertificateRequest()
returned non-null.
Note: this method is responsible for certificate verification and validation.notifyClientCertificate
in interface TlsServer
clientCertificate
- the effective client certificate (may be an empty chain).IOException
public TlsCompression getCompression() throws IOException
getCompression
in interface TlsPeer
IOException
public TlsCipher getCipher() throws IOException
getCipher
in interface TlsPeer
IOException
public NewSessionTicket getNewSessionTicket() throws IOException
TlsServer
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.
getNewSessionTicket
in interface TlsServer
IOException
Copyright © 2020 BouncyCastle.org. All rights reserved.