Package org.bouncycastle.crypto.tls
Interface TlsPeer
-
- All Known Implementing Classes:
AbstractTlsClient
,AbstractTlsPeer
,AbstractTlsServer
,DefaultTlsClient
,DefaultTlsServer
,MockDTLSClient
,MockDTLSServer
,PSKTlsClient
,PSKTlsServer
,SRPTlsClient
,SRPTlsServer
public interface TlsPeer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TlsCipher
getCipher()
TlsCompression
getCompression()
void
notifyAlertRaised(short alertLevel, short alertDescription, java.lang.String message, java.lang.Throwable cause)
This method will be called when an alert is raised by the protocol.void
notifyAlertReceived(short alertLevel, short alertDescription)
This method will be called when an alert is received from the remote peer.void
notifyHandshakeComplete()
Notifies the peer that the handshake has been successfully completed.void
notifySecureRenegotiation(boolean secureNegotiation)
boolean
requiresExtendedMasterSecret()
This implementation supports RFC 7627 and will always negotiate the extended_master_secret extension where possible.boolean
shouldUseGMTUnixTime()
draft-mathewson-no-gmtunixtime-00 2.
-
-
-
Method Detail
-
requiresExtendedMasterSecret
boolean requiresExtendedMasterSecret()
This implementation supports RFC 7627 and will always negotiate the extended_master_secret extension where possible. When connecting to a peer that does not offer/accept this extension, it is recommended to abort the handshake. This option is provided for interoperability with legacy peers, although some TLS features will be disabled in that case (see RFC 7627 5.4).- Returns:
true
if the handshake should be aborted when the peer does not negotiate the extended_master_secret extension, orfalse
to support legacy interoperability.
-
shouldUseGMTUnixTime
boolean shouldUseGMTUnixTime()
draft-mathewson-no-gmtunixtime-00 2. "If existing users of a TLS implementation may rely on gmt_unix_time containing the current time, we recommend that implementors MAY provide the ability to set gmt_unix_time as an option only, off by default."- Returns:
true
if the current time should be used in the gmt_unix_time field of Random, orfalse
if gmt_unix_time should contain a cryptographically random value.
-
notifySecureRenegotiation
void notifySecureRenegotiation(boolean secureNegotiation) throws java.io.IOException
- Throws:
java.io.IOException
-
getCompression
TlsCompression getCompression() throws java.io.IOException
- Throws:
java.io.IOException
-
getCipher
TlsCipher getCipher() throws java.io.IOException
- Throws:
java.io.IOException
-
notifyAlertRaised
void notifyAlertRaised(short alertLevel, short alertDescription, java.lang.String message, java.lang.Throwable cause)
This method will be called when an alert is raised by the protocol.- Parameters:
alertLevel
-AlertLevel
alertDescription
-AlertDescription
message
- A human-readable message explaining what caused this alert. May be null.cause
- TheThrowable
that caused this alert to be raised. May be null.
-
notifyAlertReceived
void notifyAlertReceived(short alertLevel, short alertDescription)
This method will be called when an alert is received from the remote peer.- Parameters:
alertLevel
-AlertLevel
alertDescription
-AlertDescription
-
notifyHandshakeComplete
void notifyHandshakeComplete() throws java.io.IOException
Notifies the peer that the handshake has been successfully completed.- Throws:
java.io.IOException
-
-