/// <param name="sslPolicy"> </param> /// <param name="logProvider"> /// @return </param> private static SSLConfig CommonSslConfig(SslPolicy sslPolicy, LogProvider logProvider) { SSLConfig sslConfig = new SSLConfig(); if (sslPolicy == null) { return(sslConfig); } else { sslConfig.setFactoryImplementation(new SecureHazelcastContextFactory(sslPolicy, logProvider)).setEnabled(true); switch (sslPolicy.ClientAuth) { case REQUIRE: sslConfig.setProperty("javax.net.ssl.mutualAuthentication", "REQUIRED"); break; case OPTIONAL: sslConfig.setProperty("javax.net.ssl.mutualAuthentication", "OPTIONAL"); goto case NONE; case NONE: break; default: throw new System.ArgumentException("Not supported: " + sslPolicy.ClientAuth); } return(sslConfig); } }
/// <param name="discoveryServiceFactory"> </param> /// <param name="dependencies"> </param> /// <param name="config"> </param> /// <param name="logProvider"> </param> protected internal virtual void ConfigureDiscoveryService(DiscoveryServiceFactory discoveryServiceFactory, Dependencies dependencies, Config config, LogProvider logProvider) { SslPolicyLoader sslPolicyFactory = ( SslPolicyLoader )dependencies.SatisfyDependency(SslPolicyLoader.create(config, logProvider)); SslPolicy clusterSslPolicy = sslPolicyFactory.GetPolicy(( string )config.Get(CausalClusteringSettings.ssl_policy)); if (discoveryServiceFactory is SecureHazelcastDiscoveryServiceFactory) { (( SecureHazelcastDiscoveryServiceFactory )discoveryServiceFactory).SslPolicy = clusterSslPolicy; } }
/// /// <param name="platformModule"> </param> /// <param name="discoveryServiceFactory"> </param> /// <param name="clusterStateDirectory"> </param> /// <param name="identityModule"> </param> /// <param name="dependencies"> </param> /// <param name="databaseLayout"> /// @return </param> protected internal virtual ClusteringModule GetClusteringModule(PlatformModule platformModule, DiscoveryServiceFactory discoveryServiceFactory, ClusterStateDirectory clusterStateDirectory, IdentityModule identityModule, Dependencies dependencies, DatabaseLayout databaseLayout) { SslPolicyLoader sslPolicyFactory = ( SslPolicyLoader )dependencies.SatisfyDependency(SslPolicyLoader.create(this.Config, this.LogProvider)); SslPolicy sslPolicy = sslPolicyFactory.GetPolicy(( string )this.Config.get(CausalClusteringSettings.SslPolicy)); if (discoveryServiceFactory is SecureHazelcastDiscoveryServiceFactory) { (( SecureHazelcastDiscoveryServiceFactory )discoveryServiceFactory).SslPolicy = sslPolicy; } return(new ClusteringModule(discoveryServiceFactory, identityModule.Myself(), platformModule, clusterStateDirectory.Get(), databaseLayout)); }
/// <param name="config"> </param> /// <param name="logProvider"> </param> /// <param name="sslPolicy"> </param> /// <param name="remoteMembersResolver"> </param> internal SecureHazelcastClientConnector(Config config, LogProvider logProvider, SslPolicy sslPolicy, RemoteMembersResolver remoteMembersResolver) : base(config, logProvider, remoteMembersResolver) { this._sslPolicy = sslPolicy; }
/// <param name="config"> </param> /// <param name="dependencies"> </param> /// <param name="logProvider"> </param> /// <param name="policyName"> /// @return </param> public override PipelineWrapper ForClient(Config config, Dependencies dependencies, LogProvider logProvider, Setting <string> policyName) { SslPolicy policy = this.GetSslPolicy(config, dependencies, policyName); return(new SecureClientPipelineWrapper(policy)); }
/// <param name="clientNetworkConfig"> </param> /// <param name="sslPolicy"> </param> /// <param name="logProvider"> </param> public static void ConfigureSsl(ClientNetworkConfig clientNetworkConfig, SslPolicy sslPolicy, LogProvider logProvider) { SSLConfig sslConfig = CommonSslConfig(sslPolicy, logProvider); clientNetworkConfig.SSLConfig = sslConfig; }
/// <param name="config"> </param> /// <param name="sslPolicy"> </param> /// <param name="myself"> </param> /// <param name="jobScheduler"> </param> /// <param name="logProvider"> </param> /// <param name="userLogProvider"> </param> /// <param name="remoteMembersResolver"> </param> /// <param name="topologyServiceRetryStrategy"> </param> /// <param name="monitors"> </param> internal SecureHazelcastCoreTopologyService(Config config, SslPolicy sslPolicy, MemberId myself, JobScheduler jobScheduler, LogProvider logProvider, LogProvider userLogProvider, RemoteMembersResolver remoteMembersResolver, TopologyServiceRetryStrategy topologyServiceRetryStrategy, Monitors monitors) : base(config, myself, jobScheduler, logProvider, userLogProvider, remoteMembersResolver, topologyServiceRetryStrategy, monitors) { this._sslPolicy = sslPolicy; }