~ubuntu-branches/ubuntu/raring/libjboss-remoting-java/raring

« back to all changes in this revision

Viewing changes to src/tests/org/jboss/test/remoting/detection/jndi/deadlock/SSL.java

  • Committer: Package Import Robot
  • Author(s): Torsten Werner
  • Date: 2011-09-09 14:01:03 UTC
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: package-import@ubuntu.com-20110909140103-o8ucrolqt5g25k57
Tags: upstream-2.5.3.SP1
ImportĀ upstreamĀ versionĀ 2.5.3.SP1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
* JBoss, Home of Professional Open Source
 
3
* Copyright 2005, JBoss Inc., and individual contributors as indicated
 
4
* by the @authors tag. See the copyright.txt in the distribution for a
 
5
* full listing of individual contributors.
 
6
*
 
7
* This is free software; you can redistribute it and/or modify it
 
8
* under the terms of the GNU Lesser General Public License as
 
9
* published by the Free Software Foundation; either version 2.1 of
 
10
* the License, or (at your option) any later version.
 
11
*
 
12
* This software is distributed in the hope that it will be useful,
 
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 
15
* Lesser General Public License for more details.
 
16
*
 
17
* You should have received a copy of the GNU Lesser General Public
 
18
* License along with this software; if not, write to the Free
 
19
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 
20
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 
21
*/
 
22
package org.jboss.test.remoting.detection.jndi.deadlock;
 
23
 
 
24
import javax.net.ssl.KeyManager;
 
25
import javax.net.ssl.KeyManagerFactory;
 
26
import javax.net.ssl.SSLContext;
 
27
import javax.net.ssl.SSLServerSocketFactory;
 
28
import javax.net.ssl.SSLSocketFactory;
 
29
import javax.net.ssl.TrustManager;
 
30
import javax.net.ssl.TrustManagerFactory;
 
31
import java.io.FileInputStream;
 
32
import java.security.KeyStore;
 
33
 
 
34
/**
 
35
 * @author <a href="mailto:tom.elrod@jboss.com">Tom Elrod</a>
 
36
 * @author Michael Voss
 
37
 */
 
38
public class SSL
 
39
{
 
40
 
 
41
 
 
42
   public static SSLServerSocketFactory createServerSocketFactory(String keyStorePassword,
 
43
                                                                  String trustStorePassword,
 
44
                                                                  String keyStorePath,
 
45
                                                                  String trustStorePath) throws Exception
 
46
   {
 
47
      // create an SSLContext
 
48
      SSLContext context = null;
 
49
 
 
50
      context = SSLContext.getInstance("TLS");
 
51
 
 
52
      // define password
 
53
      char[] keyPassphrase = keyStorePassword.toCharArray();
 
54
      char[] trustPassphrase = trustStorePassword.toCharArray();
 
55
      // load the server key store
 
56
      KeyStore server_keystore = KeyStore.getInstance("JKS");
 
57
      server_keystore.load(new FileInputStream(keyStorePath), keyPassphrase);
 
58
 
 
59
      // load the server trust store
 
60
      KeyStore server_truststore = KeyStore.getInstance("JKS");
 
61
      server_truststore.load(new FileInputStream(trustStorePath), trustPassphrase);
 
62
 
 
63
      // initialize a KeyManagerFactory with the KeyStore
 
64
      KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
 
65
      kmf.init(server_keystore, keyPassphrase);
 
66
      // KeyManagers from the KeyManagerFactory
 
67
      KeyManager[] keyManagers = kmf.getKeyManagers();
 
68
 
 
69
      // initialize a TrustManagerFactory with the TrustStore
 
70
      TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
 
71
      tmf.init(server_truststore);
 
72
      // TrustManagers from the TrustManagerFactory
 
73
      TrustManager[] trustManagers = tmf.getTrustManagers();
 
74
 
 
75
      // initialize context with Keystore and Truststore information
 
76
      context.init(keyManagers, trustManagers, null);
 
77
 
 
78
      // get ServerSocketFactory from context
 
79
      SSLServerSocketFactory ssf = context.getServerSocketFactory();
 
80
      return new ClientAuthSocketFactory(ssf);
 
81
   }
 
82
 
 
83
   public static SSLSocketFactory createSocketFactory(String keyStorePassword,
 
84
                                                      String trustStorePassword,
 
85
                                                      String keyStorePath,
 
86
                                                      String trustStorePath) throws Exception
 
87
   {
 
88
      // create an SSLContext
 
89
      SSLContext context = null;
 
90
 
 
91
      context = SSLContext.getInstance("TLS");
 
92
 
 
93
      // define password
 
94
      char[] keyPassphrase = keyStorePassword.toCharArray();
 
95
      char[] trustPassphrase = trustStorePassword.toCharArray();
 
96
      // load the server key store
 
97
      KeyStore server_keystore = KeyStore.getInstance("JKS");
 
98
      server_keystore.load(new FileInputStream(keyStorePath), keyPassphrase);
 
99
 
 
100
      // load the server trust store
 
101
      KeyStore server_truststore = KeyStore.getInstance("JKS");
 
102
      server_truststore.load(new FileInputStream(trustStorePath), trustPassphrase);
 
103
 
 
104
      // initialize a KeyManagerFactory with the KeyStore
 
105
      KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
 
106
      kmf.init(server_keystore, keyPassphrase);
 
107
      // KeyManagers from the KeyManagerFactory
 
108
      KeyManager[] keyManagers = kmf.getKeyManagers();
 
109
 
 
110
      // initialize a TrustManagerFactory with the TrustStore
 
111
      TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
 
112
      tmf.init(server_truststore);
 
113
      // TrustManagers from the TrustManagerFactory
 
114
      TrustManager[] trustManagers = tmf.getTrustManagers();
 
115
 
 
116
      // initialize context with Keystore and Truststore information
 
117
      context.init(keyManagers, trustManagers, null);
 
118
 
 
119
      // get ServerSocketFactory from context
 
120
      return context.getSocketFactory();
 
121
   }
 
122
 
 
123
}