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