Class TlsProtocol
- Namespace
- Enterprises.Org.BouncyCastle.Crypto.Tls
- Assembly
- Enterprises.BouncyCastle.Crypto.dll
public abstract class TlsProtocol
- Inheritance
-
TlsProtocol
- Derived
-
- Inherited Members
-
Constructors
TlsProtocol(SecureRandom)
public TlsProtocol(SecureRandom secureRandom)
Parameters
secureRandom
SecureRandom
TlsProtocol(Stream, SecureRandom)
public TlsProtocol(Stream stream, SecureRandom secureRandom)
Parameters
stream
Stream
secureRandom
SecureRandom
TlsProtocol(Stream, Stream, SecureRandom)
public TlsProtocol(Stream input, Stream output, SecureRandom secureRandom)
Parameters
input
Stream
output
Stream
secureRandom
SecureRandom
Fields
ADS_MODE_0_N
protected const short ADS_MODE_0_N = 1
Field Value
- short
ADS_MODE_0_N_FIRSTONLY
protected const short ADS_MODE_0_N_FIRSTONLY = 2
Field Value
- short
ADS_MODE_1_Nsub1
protected const short ADS_MODE_1_Nsub1 = 0
Field Value
- short
CS_CERTIFICATE_REQUEST
protected const short CS_CERTIFICATE_REQUEST = 7
Field Value
- short
CS_CERTIFICATE_STATUS
protected const short CS_CERTIFICATE_STATUS = 5
Field Value
- short
CS_CERTIFICATE_VERIFY
protected const short CS_CERTIFICATE_VERIFY = 12
Field Value
- short
CS_CLIENT_CERTIFICATE
protected const short CS_CLIENT_CERTIFICATE = 10
Field Value
- short
CS_CLIENT_FINISHED
protected const short CS_CLIENT_FINISHED = 13
Field Value
- short
CS_CLIENT_HELLO
protected const short CS_CLIENT_HELLO = 1
Field Value
- short
CS_CLIENT_KEY_EXCHANGE
protected const short CS_CLIENT_KEY_EXCHANGE = 11
Field Value
- short
CS_CLIENT_SUPPLEMENTAL_DATA
protected const short CS_CLIENT_SUPPLEMENTAL_DATA = 9
Field Value
- short
CS_END
protected const short CS_END = 16
Field Value
- short
CS_SERVER_CERTIFICATE
protected const short CS_SERVER_CERTIFICATE = 4
Field Value
- short
CS_SERVER_FINISHED
protected const short CS_SERVER_FINISHED = 15
Field Value
- short
CS_SERVER_HELLO
protected const short CS_SERVER_HELLO = 2
Field Value
- short
CS_SERVER_HELLO_DONE
protected const short CS_SERVER_HELLO_DONE = 8
Field Value
- short
CS_SERVER_KEY_EXCHANGE
protected const short CS_SERVER_KEY_EXCHANGE = 6
Field Value
- short
CS_SERVER_SESSION_TICKET
protected const short CS_SERVER_SESSION_TICKET = 14
Field Value
- short
CS_SERVER_SUPPLEMENTAL_DATA
protected const short CS_SERVER_SUPPLEMENTAL_DATA = 3
Field Value
- short
CS_START
protected const short CS_START = 0
Field Value
- short
mAllowCertificateStatus
protected bool mAllowCertificateStatus
Field Value
- bool
mBlocking
Field Value
- bool
mClientExtensions
protected IDictionary mClientExtensions
Field Value
- IDictionary
mConnectionState
protected short mConnectionState
Field Value
- short
mExpectSessionTicket
protected bool mExpectSessionTicket
Field Value
- bool
protected ByteQueueStream mInputBuffers
Field Value
- ByteQueueStream
mOfferedCipherSuites
protected int[] mOfferedCipherSuites
Field Value
- int[]
mOfferedCompressionMethods
protected byte[] mOfferedCompressionMethods
Field Value
- byte[]
mOutputBuffer
protected ByteQueueStream mOutputBuffer
Field Value
- ByteQueueStream
mPeerCertificate
protected Certificate mPeerCertificate
Field Value
- Certificate
mReceivedChangeCipherSpec
protected bool mReceivedChangeCipherSpec
Field Value
- bool
mResumedSession
protected bool mResumedSession
Field Value
- bool
mSecureRandom
protected SecureRandom mSecureRandom
Field Value
- SecureRandom
mSecureRenegotiation
protected bool mSecureRenegotiation
Field Value
- bool
mSecurityParameters
protected SecurityParameters mSecurityParameters
Field Value
- SecurityParameters
mServerExtensions
protected IDictionary mServerExtensions
Field Value
- IDictionary
mSessionParameters
protected SessionParameters mSessionParameters
Field Value
- SessionParameters
mTlsSession
protected TlsSession mTlsSession
Field Value
- TlsSession
Properties
Context
protected abstract TlsContext Context { get; }
Property Value
- TlsContext
IsClosed
public virtual bool IsClosed { get; }
Property Value
- bool
Peer
protected abstract TlsPeer Peer { get; }
Property Value
- TlsPeer
Stream
public virtual Stream Stream { get; }
Property Value
- Stream
Methods
ApplicationDataAvailable()
protected virtual int ApplicationDataAvailable()
Returns
- int
ApplyMaxFragmentLengthExtension()
protected virtual void ApplyMaxFragmentLengthExtension()
AssertEmpty(MemoryStream)
protected static void AssertEmpty(MemoryStream buf)
Parameters
buf
MemoryStream
BlockForHandshake()
protected virtual void BlockForHandshake()
CheckReceivedChangeCipherSpec(bool)
protected virtual void CheckReceivedChangeCipherSpec(bool expected)
Parameters
expected
bool
CleanupHandshake()
protected virtual void CleanupHandshake()
Close()
public virtual void Close()
public virtual void CloseInput()
CompleteHandshake()
protected virtual void CompleteHandshake()
CreateRandomBlock(bool, IRandomGenerator)
protected static byte[] CreateRandomBlock(bool useGmtUnixTime, IRandomGenerator randomGenerator)
Parameters
useGmtUnixTime
bool
randomGenerator
IRandomGenerator
Returns
- byte[]
CreateRenegotiationInfo(byte[])
protected static byte[] CreateRenegotiationInfo(byte[] renegotiated_connection)
Parameters
renegotiated_connection
byte[]
Returns
- byte[]
CreateVerifyData(bool)
protected virtual byte[] CreateVerifyData(bool isServer)
Parameters
isServer
bool
Returns
- byte[]
EstablishMasterSecret(TlsContext, TlsKeyExchange)
protected static void EstablishMasterSecret(TlsContext context, TlsKeyExchange keyExchange)
Parameters
context
TlsContext
keyExchange
TlsKeyExchange
Flush()
protected virtual void Flush()
public virtual int GetAvailableInputBytes()
Returns
- int
GetAvailableOutputBytes()
public virtual int GetAvailableOutputBytes()
Returns
- int
GetCurrentPrfHash(TlsContext, TlsHandshakeHash, byte[])
protected static byte[] GetCurrentPrfHash(TlsContext context, TlsHandshakeHash handshakeHash, byte[] sslSender)
Parameters
context
TlsContext
handshakeHash
TlsHandshakeHash
sslSender
byte[]
Returns
- byte[]
GetPrfAlgorithm(TlsContext, int)
protected static int GetPrfAlgorithm(TlsContext context, int ciphersuite)
Parameters
context
TlsContext
ciphersuite
int
Returns
- int
HandleAlertMessage(byte, byte)
protected virtual void HandleAlertMessage(byte alertLevel, byte alertDescription)
Parameters
alertLevel
byte
alertDescription
byte
HandleAlertWarningMessage(byte)
protected virtual void HandleAlertWarningMessage(byte alertDescription)
Parameters
alertDescription
byte
HandleChangeCipherSpecMessage()
protected virtual void HandleChangeCipherSpecMessage()
HandleClose(bool)
protected virtual void HandleClose(bool user_canceled)
Parameters
user_canceled
bool
HandleException(byte, string, Exception)
protected virtual void HandleException(byte alertDescription, string message, Exception cause)
Parameters
alertDescription
byte
message
string
cause
Exception
HandleFailure()
protected virtual void HandleFailure()
HandleHandshakeMessage(byte, MemoryStream)
protected abstract void HandleHandshakeMessage(byte type, MemoryStream buf)
Parameters
type
byte
buf
MemoryStream
InvalidateSession()
protected virtual void InvalidateSession()
public virtual void OfferInput(byte[] input)
Parameters
input
byte[]
OfferOutput(byte[], int, int)
public virtual void OfferOutput(byte[] buffer, int offset, int length)
Parameters
buffer
byte[]
offset
int
length
int
ProcessFinishedMessage(MemoryStream)
protected virtual void ProcessFinishedMessage(MemoryStream buf)
Parameters
buf
MemoryStream
ProcessMaxFragmentLengthExtension(IDictionary, IDictionary, byte)
protected virtual short ProcessMaxFragmentLengthExtension(IDictionary clientExtensions, IDictionary serverExtensions, byte alertDescription)
Parameters
clientExtensions
IDictionary
serverExtensions
IDictionary
alertDescription
byte
Returns
- short
ProcessRecord(byte, byte[], int, int)
protected void ProcessRecord(byte protocol, byte[] buf, int off, int len)
Parameters
protocol
byte
buf
byte[]
off
int
len
int
RaiseAlertFatal(byte, string, Exception)
protected virtual void RaiseAlertFatal(byte alertDescription, string message, Exception cause)
Parameters
alertDescription
byte
message
string
cause
Exception
RaiseAlertWarning(byte, string)
protected virtual void RaiseAlertWarning(byte alertDescription, string message)
Parameters
alertDescription
byte
message
string
ReadApplicationData(byte[], int, int)
protected virtual int ReadApplicationData(byte[] buf, int offset, int len)
Parameters
buf
byte[]
offset
int
len
int
Returns
- int
ReadExtensions(MemoryStream)
protected static IDictionary ReadExtensions(MemoryStream input)
Parameters
input
MemoryStream
Returns
- IDictionary
public virtual int ReadInput(byte[] buffer, int offset, int length)
Parameters
buffer
byte[]
offset
int
length
int
Returns
- int
ReadOutput(byte[], int, int)
public virtual int ReadOutput(byte[] buffer, int offset, int length)
Parameters
buffer
byte[]
offset
int
length
int
Returns
- int
ReadSupplementalDataMessage(MemoryStream)
protected static IList ReadSupplementalDataMessage(MemoryStream input)
Parameters
input
MemoryStream
Returns
- IList
RefuseRenegotiation()
protected virtual void RefuseRenegotiation()
protected virtual void SafeCheckRecordHeader(byte[] recordHeader)
Parameters
recordHeader
byte[]
SafeReadRecord()
protected virtual void SafeReadRecord()
SafeWriteRecord(byte, byte[], int, int)
protected virtual void SafeWriteRecord(byte type, byte[] buf, int offset, int len)
Parameters
type
byte
buf
byte[]
offset
int
len
int
SendCertificateMessage(Certificate)
protected virtual void SendCertificateMessage(Certificate certificate)
Parameters
certificate
Certificate
SendChangeCipherSpecMessage()
protected virtual void SendChangeCipherSpecMessage()
SendFinishedMessage()
protected virtual void SendFinishedMessage()
SendSupplementalDataMessage(IList)
protected virtual void SendSupplementalDataMessage(IList supplementalData)
Parameters
supplementalData
IList
SetAppDataSplitMode(int)
protected virtual void SetAppDataSplitMode(int appDataSplitMode)
Parameters
appDataSplitMode
int
WriteData(byte[], int, int)
protected virtual void WriteData(byte[] buf, int offset, int len)
Parameters
buf
byte[]
offset
int
len
int
WriteExtensions(Stream, IDictionary)
protected static void WriteExtensions(Stream output, IDictionary extensions)
Parameters
output
Stream
extensions
IDictionary
WriteHandshakeMessage(byte[], int, int)
protected virtual void WriteHandshakeMessage(byte[] buf, int off, int len)
Parameters
buf
byte[]
off
int
len
int
WriteSelectedExtensions(Stream, IDictionary, bool)
protected static void WriteSelectedExtensions(Stream output, IDictionary extensions, bool selectEmpty)
Parameters
output
Stream
extensions
IDictionary
selectEmpty
bool
WriteSupplementalData(Stream, IList)
protected static void WriteSupplementalData(Stream output, IList supplementalData)
Parameters
output
Stream
supplementalData
IList