]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/ping/SSLPinger.java
[EMPTY] Formatting with configured formatter.
[gigi.git] / src / org / cacert / gigi / ping / SSLPinger.java
index fd113ec2683afded4aa08b817c49434c937dc063..78adc12ac9e6a76bc4d08ec34675c77445ff25b9 100644 (file)
@@ -27,22 +27,21 @@ public class SSLPinger extends DomainPinger {
                try {
                        SocketChannel sch = SocketChannel.open();
                        String[] parts = configuration.split(":", 2);
-                       sch.connect(new InetSocketAddress(domain, Integer
-                                       .parseInt(parts[0])));
+                       sch.connect(new InetSocketAddress(domain, Integer.parseInt(parts[0])));
                        if (parts.length == 2) {
                                switch (parts[1]) {
-                                       case "xmpp" :
-                                               startXMPP(sch, false, domain);
-                                               break;
-                                       case "server-xmpp" :
-                                               startXMPP(sch, true, domain);
-                                               break;
-                                       case "smtp" :
-                                               startSMTP(sch);
-                                               break;
-                                       case "imap" :
-                                               startIMAP(sch);
-                                               break;
+                               case "xmpp":
+                                       startXMPP(sch, false, domain);
+                                       break;
+                               case "server-xmpp":
+                                       startXMPP(sch, true, domain);
+                                       break;
+                               case "smtp":
+                                       startSMTP(sch);
+                                       break;
+                               case "imap":
+                                       startIMAP(sch);
+                                       break;
 
                                }
                        }
@@ -52,6 +51,7 @@ public class SSLPinger extends DomainPinger {
                }
 
        }
+
        private void startIMAP(SocketChannel sch) throws IOException {
                Socket s = sch.socket();
                InputStream is = s.getInputStream();
@@ -61,22 +61,21 @@ public class SSLPinger extends DomainPinger {
                os.flush();
                scanFor(is, "\n");
        }
-       private void startXMPP(SocketChannel sch, boolean server, String domain)
-                       throws IOException {
+
+       private void startXMPP(SocketChannel sch, boolean server, String domain) throws IOException {
                Socket s = sch.socket();
                InputStream is = s.getInputStream();
                OutputStream os = s.getOutputStream();
-               os.write(("<stream:stream to=\"" + domain + "\" xmlns=\"jabber:"
-                               + (server ? "server" : "client") + "\"" + " xmlns:stream=\"http://etherx.jabber.org/streams\" version=\"1.0\">")
-                               .getBytes());
+               os.write(("<stream:stream to=\"" + domain + "\" xmlns=\"jabber:" + (server ? "server" : "client") + "\"" + " xmlns:stream=\"http://etherx.jabber.org/streams\" version=\"1.0\">")
+                       .getBytes());
                os.flush();
-               os.write("<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"/>"
-                               .getBytes());
+               os.write("<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"/>".getBytes());
                os.flush();
                scanFor(is, "<proceed");
                scanFor(is, ">");
 
        }
+
        private void scanFor(InputStream is, String scanFor) throws IOException {
                int pos = 0;
                while (pos < scanFor.length()) {
@@ -87,6 +86,7 @@ public class SSLPinger extends DomainPinger {
                        }
                }
        }
+
        private void startSMTP(SocketChannel sch) throws IOException {
                Socket s = sch.socket();
                InputStream is = s.getInputStream();
@@ -101,6 +101,7 @@ public class SSLPinger extends DomainPinger {
                s.getOutputStream().flush();
                readSMTP(is);
        }
+
        private void readSMTP(InputStream is) throws IOException {
                int counter = 0;
                boolean finish = true;
@@ -125,65 +126,60 @@ public class SSLPinger extends DomainPinger {
                        }
                }
        }
+
        private void test(SocketChannel sch, String domain) {
                try {
                        SSLContext sc = SSLContext.getDefault();
                        SSLEngine se = sc.createSSLEngine();
-                       ByteBuffer enc_in = ByteBuffer.allocate(se.getSession()
-                                       .getPacketBufferSize());
-                       ByteBuffer enc_out = ByteBuffer.allocate(se.getSession()
-                                       .getPacketBufferSize());
-                       ByteBuffer dec_in = ByteBuffer.allocate(se.getSession()
-                                       .getApplicationBufferSize());
-                       ByteBuffer dec_out = ByteBuffer.allocate(se.getSession()
-                                       .getApplicationBufferSize());
+                       ByteBuffer enc_in = ByteBuffer.allocate(se.getSession().getPacketBufferSize());
+                       ByteBuffer enc_out = ByteBuffer.allocate(se.getSession().getPacketBufferSize());
+                       ByteBuffer dec_in = ByteBuffer.allocate(se.getSession().getApplicationBufferSize());
+                       ByteBuffer dec_out = ByteBuffer.allocate(se.getSession().getApplicationBufferSize());
                        se.setUseClientMode(true);
                        SSLParameters sp = se.getSSLParameters();
-                       sp.setServerNames(Arrays.<SNIServerName> asList(new SNIHostName(
-                                       domain)));
+                       sp.setServerNames(Arrays.<SNIServerName> asList(new SNIHostName(domain)));
                        se.setSSLParameters(sp);
                        se.beginHandshake();
                        enc_in.limit(0);
                        while (se.getHandshakeStatus() != HandshakeStatus.FINISHED
-                                       && se.getHandshakeStatus() != HandshakeStatus.NOT_HANDSHAKING) {
+                               && se.getHandshakeStatus() != HandshakeStatus.NOT_HANDSHAKING) {
                                switch (se.getHandshakeStatus()) {
-                                       case NEED_WRAP :
-                                               dec_out.limit(0);
-                                               se.wrap(dec_out, enc_out);
-                                               enc_out.flip();
-                                               while (enc_out.remaining() > 0) {
-                                                       sch.write(enc_out);
-                                               }
-                                               enc_out.clear();
-                                               break;
-                                       case NEED_UNWRAP :
-                                               if (enc_in.remaining() == 0) {
-                                                       enc_in.clear();
-                                                       sch.read(enc_in);
-                                                       enc_in.flip();
-                                               }
-                                               while (se.unwrap(enc_in, dec_in).getStatus() == Status.BUFFER_UNDERFLOW) {
-                                                       enc_in.position(enc_in.limit());
-                                                       enc_in.limit(enc_in.capacity());
-                                                       sch.read(enc_in);
-                                                       enc_in.flip();
-                                               }
-                                               enc_in.compact();
+                               case NEED_WRAP:
+                                       dec_out.limit(0);
+                                       se.wrap(dec_out, enc_out);
+                                       enc_out.flip();
+                                       while (enc_out.remaining() > 0) {
+                                               sch.write(enc_out);
+                                       }
+                                       enc_out.clear();
+                                       break;
+                               case NEED_UNWRAP:
+                                       if (enc_in.remaining() == 0) {
+                                               enc_in.clear();
+                                               sch.read(enc_in);
+                                               enc_in.flip();
+                                       }
+                                       while (se.unwrap(enc_in, dec_in).getStatus() == Status.BUFFER_UNDERFLOW) {
+                                               enc_in.position(enc_in.limit());
+                                               enc_in.limit(enc_in.capacity());
+                                               sch.read(enc_in);
                                                enc_in.flip();
-                                               break;
-                                       case NEED_TASK :
-                                               se.getDelegatedTask().run();
-                                               break;
-                                       case NOT_HANDSHAKING :
-                                       case FINISHED :
+                                       }
+                                       enc_in.compact();
+                                       enc_in.flip();
+                                       break;
+                               case NEED_TASK:
+                                       se.getDelegatedTask().run();
+                                       break;
+                               case NOT_HANDSHAKING:
+                               case FINISHED:
 
                                }
 
                        }
                        System.out.println("completed");
                        System.out.println(se.getSession().getCipherSuite());
-                       X509Certificate[] peerCertificateChain = se.getSession()
-                                       .getPeerCertificateChain();
+                       X509Certificate[] peerCertificateChain = se.getSession().getPeerCertificateChain();
                        for (X509Certificate x509Certificate : peerCertificateChain) {
                                System.out.println(x509Certificate.getSubjectDN().getName());
                        }