<PackageReference Include="System.ServiceModel.Primitives" Version="8.1.2" />

System.ServiceModel.Security.SecurityProtocolFactory

public bool ActAsInitiator { get; }

public bool AddTimestamp { get; set; }

public TimeSpan DefaultCloseTimeout { get; }

public TimeSpan DefaultOpenTimeout { get; }

public bool DetectReplays { get; set; }

public int MaxCachedNonces { get; set; }

public TimeSpan MaxClockSkew { get; set; }

public NonceCache NonceCache { get; set; }

public TimeSpan ReplayWindow { get; set; }

public BufferManager StreamBufferManager { get; set; }

public virtual bool SupportsDuplex { get; }

public virtual bool SupportsReplayDetection { get; }

public virtual bool SupportsRequestReply { get; }

public TimeSpan TimestampValidityDuration { get; set; }

public Task CloseAsync(bool aborted, TimeSpan timeout)

public SecurityProtocol CreateSecurityProtocol(EndpointAddress target, Uri via, object listenerSecurityState, bool isReturnLegSecurityRequired, TimeSpan timeout)

public virtual T GetProperty<T>()

public virtual void OnAbort()

public virtual Task OnCloseAsync(TimeSpan timeout)

public void OnClosed()

public void OnClosing()

protected abstract SecurityProtocol OnCreateSecurityProtocol(EndpointAddress target, Uri via, object listenerSecurityState, TimeSpan timeout)

public void OnFaulted()

public virtual Task OnOpenAsync(TimeSpan timeout)

public void OnOpened()

public void OnOpening()

public Task OpenAsync(bool actAsInitiator, TimeSpan timeout)