/// <summary> /// Initializes a new instance of the <see cref="X509SecuritySettings" /> class. /// </summary> /// <param name="clientCertificate">The client certificate for the communication with server.</param> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> public X509SecuritySettings(X509Certificate clientCertificate, RemoteX509SecuritySettings remoteX509SecuritySettings) : base(SecurityType.X509) { clientCertificate.ThrowIfNull(nameof(clientCertificate)); remoteX509SecuritySettings.ThrowIfNull(nameof(remoteX509SecuritySettings)); this.ClientCertificate = clientCertificate; this.RemoteX509SecuritySettings = remoteX509SecuritySettings; }
/// <summary> /// Initializes a new instance of the <see cref="ClaimsSecuritySettings" /> class. /// </summary> /// <param name="claimsToken">string representation of claims token acquired from STS (security token service).</param> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> public ClaimsSecuritySettings(string claimsToken, RemoteX509SecuritySettings remoteX509SecuritySettings) : base(SecurityType.Claims) { if (string.IsNullOrWhiteSpace(claimsToken)) { throw new ArgumentException(SR.ErrorLocalClaims); } remoteX509SecuritySettings.ThrowIfNull(nameof(remoteX509SecuritySettings)); this.ClaimsToken = claimsToken; this.RemoteX509SecuritySettings = remoteX509SecuritySettings; }
/// <summary> /// Initializes a new instance of the <see cref="X509SecuritySettings" /> class. /// </summary> /// <param name="clientCertificate">The client certificate for the communication with server.</param> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> public X509SecuritySettings(X509Certificate2 clientCertificate, RemoteX509SecuritySettings remoteX509SecuritySettings) : base(SecurityType.X509) { clientCertificate.ThrowIfNull(nameof(clientCertificate)); remoteX509SecuritySettings.ThrowIfNull(nameof(remoteX509SecuritySettings)); if (!clientCertificate.HasPrivateKey) { throw new InvalidOperationException(SR.ClientCertDoesntContainPrivateKey); } this.ClientCertificate = clientCertificate; this.RemoteX509SecuritySettings = remoteX509SecuritySettings; }
/// <summary> /// Initializes a new instance of the <see cref="DstsClaimsSecuritySettings" /> class. /// Use this constructor if you don't have the Metadata information, provided delegate will be invoked with metadata of the cluster /// when a claims token is needed by IServiceFabricClient. /// </summary> /// <param name="getClaimsToken">Delegate to get string representation of claims token acquired from STS (security token service) using <see cref="TokenServiceMetadata"/>.</param> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> public DstsClaimsSecuritySettings(Func <TokenServiceMetadata, CancellationToken, Task <string> > getClaimsToken, RemoteX509SecuritySettings remoteX509SecuritySettings) : base(remoteX509SecuritySettings) { getClaimsToken.ThrowIfNull(nameof(getClaimsToken)); this.GetClaimsToken = getClaimsToken; }
/// <summary> /// Initializes a new instance of the <see cref="DstsClaimsSecuritySettings" /> class. /// Use this constructor if you have the Metadata information to get the claims token from Secure Token Service.. /// </summary> /// <param name="claimsToken">string representation of claims token acquired from STS (security token service).</param> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> public DstsClaimsSecuritySettings(string claimsToken, RemoteX509SecuritySettings remoteX509SecuritySettings) : base(claimsToken, remoteX509SecuritySettings) { }
/// <summary> /// Initializes a new instance of the <see cref="ClaimsSecuritySettings" /> class. /// </summary> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> internal ClaimsSecuritySettings(RemoteX509SecuritySettings remoteX509SecuritySettings) : base(SecurityType.Claims) { remoteX509SecuritySettings.ThrowIfNull(nameof(remoteX509SecuritySettings)); this.RemoteX509SecuritySettings = remoteX509SecuritySettings; }
/// <summary> /// Initializes a new instance of the <see cref="AzureActiveDirectorySecuritySettings" /> class. /// Use this constructor if you don't have the Azure Active Directory Metadata information, provided delegate will be invoked with AAD metadata of the cluster /// when a claims token is needed by IServiceFabricClient. /// </summary> /// <param name="getClaimsToken">Delegate to get string representation of claims token acquired from Azure Active Directory using <see cref="AadMetadata"/>.</param> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> public AzureActiveDirectorySecuritySettings(Func <AadMetadata, CancellationToken, Task <string> > getClaimsToken, RemoteX509SecuritySettings remoteX509SecuritySettings) : base(remoteX509SecuritySettings) { getClaimsToken.ThrowIfNull(nameof(getClaimsToken)); this.GetClaimsToken = getClaimsToken; }
/// <summary> /// Initializes a new instance of the <see cref="AzureActiveDirectorySecuritySettings" /> class. /// Use this constructor if you have the Azure Active Directory Metadata information to get the claism token from Azure Active Directory. /// </summary> /// <param name="claimsToken">string representation of claims token acquired from STS (security token service).</param> /// <param name="remoteX509SecuritySettings">Security settings to verify remote X509 certificate.</param> public AzureActiveDirectorySecuritySettings(string claimsToken, RemoteX509SecuritySettings remoteX509SecuritySettings) : base(claimsToken, remoteX509SecuritySettings) { }