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

Org.BouncyCastle.Tls.DtlsServerProtocol

namespace Org.BouncyCastle.Tls { public class DtlsServerProtocol : DtlsProtocol { protected bool m_verifyRequests; public virtual bool VerifyRequests { get; set; } public DtlsServerProtocol(); public virtual DtlsTransport Accept(TlsServer server, DatagramTransport transport); public virtual DtlsTransport Accept(TlsServer server, DatagramTransport transport, DtlsRequest request); protected virtual byte[] GenerateCertificateRequest(ServerHandshakeState state, CertificateRequest certificateRequest); protected virtual byte[] GenerateCertificateStatus(ServerHandshakeState state, CertificateStatus certificateStatus); protected virtual byte[] GenerateNewSessionTicket(ServerHandshakeState state, NewSessionTicket newSessionTicket); protected virtual void CancelSession(ServerHandshakeState state); protected virtual bool EstablishSession(ServerHandshakeState state, TlsSession sessionToResume); protected virtual void InvalidateSession(ServerHandshakeState state); protected virtual void NotifyClientCertificate(ServerHandshakeState state, Certificate clientCertificate); protected virtual void ProcessClientCertificate(ServerHandshakeState state, byte[] body); protected virtual void ProcessCertificateVerify(ServerHandshakeState state, byte[] body, TlsHandshakeHash handshakeHash); protected virtual void ProcessClientHello(ServerHandshakeState state, byte[] body); protected virtual void ProcessClientHello(ServerHandshakeState state, ClientHello clientHello); protected virtual void ProcessClientKeyExchange(ServerHandshakeState state, byte[] body); protected virtual void ProcessClientSupplementalData(ServerHandshakeState state, byte[] body); protected virtual bool ExpectCertificateVerifyMessage(ServerHandshakeState state); } }