KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > axis > components > net > SunFakeTrustSocketFactory


1 /*
2  * Copyright 2001-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.axis.components.net;
17
18 import java.util.Hashtable JavaDoc;
19
20 import org.apache.axis.components.logger.LogFactory;
21 import org.apache.axis.utils.Messages;
22 import org.apache.commons.logging.Log;
23
24 import com.sun.net.ssl.SSLContext;
25 import com.sun.net.ssl.TrustManager;
26 import com.sun.net.ssl.X509TrustManager;
27
28 /**
29  * Hook for Axis sender, allowing unsigned server certs
30  */

31 public class SunFakeTrustSocketFactory extends SunJSSESocketFactory {
32
33     /** Field log */
34     protected static Log log =
35             LogFactory.getLog(SunFakeTrustSocketFactory.class.getName());
36
37     /**
38      * Constructor FakeTrustSocketFactory
39      *
40      * @param attributes
41      */

42     public SunFakeTrustSocketFactory(Hashtable JavaDoc attributes) {
43         super(attributes);
44     }
45
46     /**
47      * Method getContext
48      *
49      * @return
50      *
51      * @throws Exception
52      */

53     protected SSLContext getContext() throws Exception JavaDoc {
54
55         try {
56             SSLContext sc = SSLContext.getInstance("SSL");
57
58             sc.init(null, // we don't need no stinkin KeyManager
59
new TrustManager[]{new FakeX509TrustManager()},
60                     new java.security.SecureRandom JavaDoc());
61             if (log.isDebugEnabled()) {
62                 log.debug(Messages.getMessage("ftsf00"));
63             }
64             return sc;
65         } catch (Exception JavaDoc exc) {
66             log.error(Messages.getMessage("ftsf01"), exc);
67             throw new Exception JavaDoc(Messages.getMessage("ftsf02"));
68         }
69     }
70
71     /**
72      * Class FakeX509TrustManager
73      */

74     public static class FakeX509TrustManager implements X509TrustManager {
75
76         /** Field log */
77         protected static Log log =
78                 LogFactory.getLog(FakeX509TrustManager.class.getName());
79
80         /**
81          * Method isClientTrusted
82          *
83          * @param chain
84          *
85          * @return
86          */

87         public boolean isClientTrusted(java.security.cert
88
JavaDoc                .X509Certificate[] chain) {
89
90             if (log.isDebugEnabled()) {
91                 log.debug(Messages.getMessage("ftsf03"));
92             }
93             return true;
94         }
95
96         /**
97          * Method isServerTrusted
98          *
99          * @param chain
100          *
101          * @return
102          */

103         public boolean isServerTrusted(java.security.cert
104
JavaDoc                .X509Certificate[] chain) {
105
106             if (log.isDebugEnabled()) {
107                 log.debug(Messages.getMessage("ftsf04"));
108             }
109             return true;
110         }
111
112         /**
113          * Method getAcceptedIssuers
114          *
115          * @return
116          */

117         public java.security.cert.X509Certificate JavaDoc[] getAcceptedIssuers() {
118
119             if (log.isDebugEnabled()) {
120                 log.debug(Messages.getMessage("ftsf05"));
121             }
122             return null;
123         }
124     }
125 }
126
Popular Tags