예제 #1
0
 /// <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;
 }
예제 #2
0
        /// <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;
        }
예제 #3
0
        /// <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;
        }
예제 #4
0
 /// <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;
 }
예제 #5
0
 /// <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;
 }
예제 #7
0
 /// <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;
 }
예제 #8
0
 /// <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)
 {
 }