Skip to content

TlsOptions

class

Namespace: Orleans.Connections.Transport.Security

Settings for how TLS connections are handled.
public class TlsOptions

Constructors

Properties

  • CheckCertificateRevocation Specifies whether the certificate revocation list is checked during authentication.
  • ClientCertificateMode Controls selection of the local client certificate when Orleans initiates a TLS connection. Defaults to RemoteCertificateMode.
  • HandshakeTimeout Specifies the maximum amount of time allowed for the TLS/SSL handshake. This must be positive and no greater than 4,294,967,294 milliseconds (approximately 49.7 days), or System.Threading.Timeout.InfiniteTimeSpan to disable the timeout.
  • LocalCertificate

    Specifies the local certificate used to authenticate TLS connections. This is ignored on server if TlsOptions is set.

    To omit client authentication set to null on client and set TlsOptions to RemoteCertificateMode or RemoteCertificateMode on server.

    If the certificate has an Extended Key Usage extension, the usages must include Server Authentication (OID 1.3.6.1.5.5.7.3.1) for server and Client Authentication (OID 1.3.6.1.5.5.7.3.2) for client.

  • LocalClientCertificateSelector

    A callback that will be invoked to dynamically select a local client certificate. This is higher priority than LocalCertificate. Returning null omits the client certificate when TlsOptions is RemoteCertificateMode or RemoteCertificateMode. When the mode is RemoteCertificateMode, a null result fails authentication.

    If the certificate has an Extended Key Usage extension, the usages must include Client Authentication (OID 1.3.6.1.5.5.7.3.2).

  • LocalServerCertificateSelector

    A callback that will be invoked to dynamically select a local server certificate. This is higher priority than LocalCertificate. If SNI is not available then the name parameter will be null.

    If the certificate has an Extended Key Usage extension, the usages must include Server Authentication (OID 1.3.6.1.5.5.7.3.1).

  • MemoryPool Gets or sets the memory pool.
  • OnAuthenticateAsClient Provides direct configuration of the TlsClientAuthenticationOptions on a per-connection basis. This is called after all of the other settings have already been applied.
  • OnAuthenticateAsServer Provides direct configuration of the TlsServerAuthenticationOptions on a per-connection basis. This is called after all of the other settings have already been applied.
  • RemoteCertificateMode Specifies the remote endpoint certificate requirements for a TLS connection. Defaults to RemoteCertificateMode.
  • RemoteCertificateValidation Specifies a callback for additional remote certificate validation that will be invoked during authentication. This will be ignored if TlsOptions is called after this callback is set.
  • SslProtocols Specifies allowable SSL protocols. Defaults to System.Security.Authentication.SslProtocols.Tls13 and System.Security.Authentication.SslProtocols.Tls12.

Methods