<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.1" />

Org.BouncyCastle.Tls.DtlsClientProtocol

namespace Org.BouncyCastle.Tls { public class DtlsClientProtocol : DtlsProtocol { public DtlsClientProtocol(); public virtual DtlsTransport Connect(TlsClient client, DatagramTransport transport); protected virtual byte[] GenerateCertificateVerify(ClientHandshakeState state, DigitallySigned certificateVerify); protected virtual byte[] GenerateClientHello(ClientHandshakeState state); protected virtual byte[] GenerateClientKeyExchange(ClientHandshakeState state); protected virtual void CancelSession(ClientHandshakeState state); protected virtual bool EstablishSession(ClientHandshakeState state, TlsSession sessionToResume); protected virtual void InvalidateSession(ClientHandshakeState state); protected virtual void ProcessCertificateRequest(ClientHandshakeState state, byte[] body); protected virtual void ProcessCertificateStatus(ClientHandshakeState state, byte[] body); protected virtual byte[] ProcessHelloVerifyRequest(ClientHandshakeState state, byte[] body); protected virtual void ProcessNewSessionTicket(ClientHandshakeState state, byte[] body); protected virtual void ProcessServerCertificate(ClientHandshakeState state, byte[] body); protected virtual void ProcessServerHello(ClientHandshakeState state, byte[] body); protected virtual void ProcessServerKeyExchange(ClientHandshakeState state, byte[] body); protected virtual void ProcessServerSupplementalData(ClientHandshakeState state, byte[] body); protected virtual void ReportServerVersion(ClientHandshakeState state, ProtocolVersion server_version); protected static byte[] PatchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie); } }