You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by se...@apache.org on 2015/07/14 16:30:10 UTC

[2/2] incubator-ignite git commit: # IGNITE-1121 Use SSL to connect between agent and server.

# IGNITE-1121 Use SSL to connect between agent and server.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/9ab35ffb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/9ab35ffb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/9ab35ffb

Branch: refs/heads/ignite-1121
Commit: 9ab35ffb7c70d70e9aa924c26c291878fe81e88a
Parents: 0920e8d
Author: sevdokimov <se...@gridgain.com>
Authored: Tue Jul 14 17:29:38 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue Jul 14 17:29:38 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/agent/AgentLauncher.java    | 16 +++++++++++-----
 .../web-control-center/nodejs/bridge/bridge.js    | 12 +++++++++---
 .../web-control-center/nodejs/config/default.json |  7 ++++++-
 modules/web-control-center/nodejs/keys/test.crt   | 13 +++++++++++++
 modules/web-control-center/nodejs/keys/test.key   | 18 ++++++++++++++++++
 5 files changed, 57 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ab35ffb/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
index 50e91d4..9f76b9d 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.agent;
 
 import org.apache.commons.cli.*;
+import org.eclipse.jetty.util.ssl.*;
 import org.eclipse.jetty.websocket.client.*;
 
 import java.net.*;
@@ -77,7 +78,7 @@ public class AgentLauncher {
         String uri = cmd.getOptionValue('u');
 
         if (uri == null)
-            cfg.setUri("ws://localhost:3001");
+            cfg.setUri("wss://localhost:3001"); // todo set something like wss://control-center.gridgain.com
         else
             cfg.setUri(uri);
 
@@ -86,18 +87,23 @@ public class AgentLauncher {
         agent.start();
 
         try {
-            WebSocketClient client = new WebSocketClient();
+            SslContextFactory sslCtxFactory = new SslContextFactory();
 
-            AgentSocket agentSocket = new AgentSocket(cfg, agent);
+            if (Boolean.TRUE.equals(Boolean.getBoolean("trust.all")))
+                sslCtxFactory.setTrustAll(true);
+
+            WebSocketClient client = new WebSocketClient(sslCtxFactory);
+
+            AgentSocket agentSock = new AgentSocket(cfg, agent);
 
             client.start();
 
             try {
-                client.connect(agentSocket, new URI(cfg.getUri()));
+                client.connect(agentSock, new URI(cfg.getUri()));
 
                 System.out.printf("Connecting to : %s%n", cfg.getUri());
 
-                agentSocket.waitForClose();
+                agentSock.waitForClose();
             }
             finally {
                 client.stop();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ab35ffb/modules/web-control-center/nodejs/bridge/bridge.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/bridge/bridge.js b/modules/web-control-center/nodejs/bridge/bridge.js
index 99faff1..d850098 100644
--- a/modules/web-control-center/nodejs/bridge/bridge.js
+++ b/modules/web-control-center/nodejs/bridge/bridge.js
@@ -19,10 +19,12 @@ var WebSocketServer = require('ws').Server;
 
 var config = require('../helpers/configuration-loader.js');
 
-var http = require('http');
+var https = require('https');
 
 var db = require('../db');
 
+var fs = require('fs');
+
 var srv;
 
 var clients = {};
@@ -84,9 +86,13 @@ function Client(ws) {
 }
 
 function Server() {
-    var server = http.createServer();
+    var server = https.createServer({
+        key: fs.readFileSync(config.get('monitor:server:key')),
+        cert: fs.readFileSync(config.get('monitor:server:cert')),
+        passphrase: config.get('monitor:server:keyPassphrase')
+    });
 
-    server.listen(config.get('monitor:agentsServerPort'));
+    server.listen(config.get('monitor:server:port'));
 
     var wss = new WebSocketServer({ server: server });
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ab35ffb/modules/web-control-center/nodejs/config/default.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/config/default.json b/modules/web-control-center/nodejs/config/default.json
index acdd6eb..28b2b64 100644
--- a/modules/web-control-center/nodejs/config/default.json
+++ b/modules/web-control-center/nodejs/config/default.json
@@ -6,6 +6,11 @@
         "url": "mongodb://localhost/web-control-center"
     },
     "monitor": {
-        "agentsServerPort": 3001
+        "server": {
+            "port": 3001,
+            "key": "keys/test.key",
+            "cert": "keys/test.crt",
+            "keyPassphrase": "password"
+        }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ab35ffb/modules/web-control-center/nodejs/keys/test.crt
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/keys/test.crt b/modules/web-control-center/nodejs/keys/test.crt
new file mode 100644
index 0000000..50c6d5c
--- /dev/null
+++ b/modules/web-control-center/nodejs/keys/test.crt
@@ -0,0 +1,13 @@
+-----BEGIN CERTIFICATE-----
+MIIB6zCCAVQCCQDcAphbU6UcLjANBgkqhkiG9w0BAQsFADA6MRIwEAYDVQQDDAls
+b2NhbGhvc3QxJDAiBgkqhkiG9w0BCQEWFXNldmRva2ltb3ZAYXBhY2hlLm9yZzAe
+Fw0xNTA3MTQxMzAyNTNaFw0xODA2MjMxMzAyNTNaMDoxEjAQBgNVBAMMCWxvY2Fs
+aG9zdDEkMCIGCSqGSIb3DQEJARYVc2V2ZG9raW1vdkBhcGFjaGUub3JnMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDP/zpJrdHqCj6lPpeFF6LQtzKef6UiyBBo
+rbuOtCCgW8KMJJciluBWk2126qLt9smBN4jBpSNU3pq0r9gBMUTd/LSe7aY4D5ED
+Pjp7XsypNVKeHaHbFi7KhfHy0LYxsWiNPmmHJv4dtYOp+pGK25rkXNfyJxxjgxN6
+wo34+MnZIQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAFk9XEjcdyihws+fVmdGGUFo
+bVxI9YGH6agiNbU3WNF4B4VRzcPPW8z2mEo7eF9kgYmq/YzH4T8tgi/qkL/u8eZV
+Wmi9bg6RThLN6/hj3wVoOFKykbDQ05FFdhIJXN5UOjPmxYM97EKqg6J0W2HAb8SG
++UekPnmAo/2HTKsLykH8
+-----END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ab35ffb/modules/web-control-center/nodejs/keys/test.key
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/keys/test.key b/modules/web-control-center/nodejs/keys/test.key
new file mode 100644
index 0000000..1b395c0
--- /dev/null
+++ b/modules/web-control-center/nodejs/keys/test.key
@@ -0,0 +1,18 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,6798185330CE2EE2
+
+sOwkmD8rvjx11l09V26dJhLhl+SyPIhyeZ3TqHXrYCATKoXlzidT+uPu1jVYtrwr
+nBLA6TrIDYRrBNlEsqGZ0cSvWTIczzVW1xZKHEJo5q2vUT/W8u/Q1QQtS3P3GeKF
+dEzx496rpZqwwVw59GNbuIwyYoVvQf3iEXzfhplGmLPELYIplDFOLgNuXQyXSGx6
+rwKsCxXMLsDyrA6DCz0Odf08p2HvWk/s5Ne3DFcQlqRNtIrBVGD2O0/Fp8ZZ2I4E
+Yn2OIIWJff3HanOjLOWKdN8YAn5UleNmlEUdIHeS5qaQ68mabOxLkSef9qglV+sd
+FHTtUq0cG6t6nhxZBziexha6v1yl/xABAHHhNPOfak+HthWxRD4N9f1yFYAeTmkn
+4kwBWoSUe12XRf2pGNqhEUKN/KhDmWk85wI55i/Cu2XmNoiBFlS9BXrRYU8uVCJw
+KlxjKTDWl1opCyvxTDxJnMkt44ZT445LRePKVueGIIKSUIXNQypOE+C1I0CL0N2W
+Ts3m9nthquvLeMx92k7b8yW69BER5uac3SIlGCOJObQXsHgyk8wYiyd/zLKfjctG
+PXieaW81UKjp+GqWpvWPz3VqnKwoyUWeVOOTviurli6kYOrHuySTMqMb6hxJctw9
+grAQTT0UPiAKWcM7InLzZnRjco+v9QLLEokjVngXPba16K/CItFY16xuGlaFLW7Y
+XTc67AkL8b76HBZelMjmCsqjvSoULhuMFwTOvUMm/mSM8rMoi9asrJRLQHRMWCST
+/6RENPLzPlOMnNLBujpBbn8V3/aYzEZsHMI+6S3d27WYlTJIqpabSA==
+-----END RSA PRIVATE KEY-----