001: /*
002: * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
003: * PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
004: */
005: package com.sun.portal.monitoring.security.ssl;
006:
007: import com.sun.portal.monitoring.security.SecurityContext;
008: import com.sun.portal.monitoring.utilities.PropertyHelper;
009:
010: import java.util.ArrayList;
011: import java.util.List;
012: import java.util.StringTokenizer;
013:
014: public class SslContext {
015: public SslContext(PropertyHelper propertyHelper) {
016: this .propertyHelper = propertyHelper;
017: if (propertyHelper == null) {
018: this .propertyHelper = new PropertyHelper(null);
019: }
020: }
021:
022: private PropertyHelper propertyHelper;
023:
024: public SecurityContext getSecurityContext() {
025: return securityContext;
026: }
027:
028: public void setSecurityContext(SecurityContext securityContext) {
029: this .securityContext = securityContext;
030: }
031:
032: public String getKeyStoreType() {
033: return keyStoreType;
034: }
035:
036: public void setKeyStoreType(String keyStoreType) {
037: this .keyStoreType = keyStoreType;
038: }
039:
040: public String getKeyStoreProviderName() {
041: return keyStoreProviderName;
042: }
043:
044: public void setKeyStoreProviderName(String keyStoreProviderName) {
045: this .keyStoreProviderName = keyStoreProviderName;
046: }
047:
048: public String getKeyManagerAlgorithm() {
049: return keyManagerAlgorithm;
050: }
051:
052: public void setKeyManagerAlgorithm(String keyManagerAlgorithm) {
053: this .keyManagerAlgorithm = keyManagerAlgorithm;
054: }
055:
056: public String getKeyManagerProviderName() {
057: return keyManagerProviderName;
058: }
059:
060: public void setKeyManagerProviderName(String keyManagerProviderName) {
061: this .keyManagerProviderName = keyManagerProviderName;
062: }
063:
064: public String getTrustStoreType() {
065: return trustStoreType;
066: }
067:
068: public void setTrustStoreType(String trustStoreType) {
069: this .trustStoreType = trustStoreType;
070: }
071:
072: public String getTrustStoreProviderName() {
073: return trustStoreProviderName;
074: }
075:
076: public void setTrustStoreProviderName(String trustStoreProviderName) {
077: this .trustStoreProviderName = trustStoreProviderName;
078: }
079:
080: public String getTrustManagerAlgorithm() {
081: return trustManagerAlgorithm;
082: }
083:
084: public void setTrustManagerAlgorithm(String trustManagerAlgorithm) {
085: this .trustManagerAlgorithm = trustManagerAlgorithm;
086: }
087:
088: public String getTrustManagerProviderName() {
089: return trustManagerProviderName;
090: }
091:
092: public void setTrustManagerProviderName(
093: String trustManagerProviderName) {
094: this .trustManagerProviderName = trustManagerProviderName;
095: }
096:
097: public Boolean getTrustAllCertificates() {
098: return trustAllCertificates;
099: }
100:
101: public void setTrustAllCertificates(Boolean trustAllCertificates) {
102: this .trustAllCertificates = trustAllCertificates;
103: }
104:
105: public String getProtocol() {
106: return protocol;
107: }
108:
109: public void setProtocol(String protocol) {
110: this .protocol = protocol;
111: }
112:
113: public String getProviderName() {
114: return providerName;
115: }
116:
117: public void setProviderName(String providerName) {
118: this .providerName = providerName;
119: }
120:
121: public String[] getCiphers() {
122: return ciphers;
123: }
124:
125: public void setCiphers(String[] ciphers) {
126: this .ciphers = ciphers;
127: }
128:
129: public String getHostName() {
130: return hostName;
131: }
132:
133: public void setHostName(String hostName) {
134: this .hostName = hostName;
135: }
136:
137: public String getPort() {
138: return port;
139: }
140:
141: public void setPort(String port) {
142: this .port = port;
143: }
144:
145: private String getProperty(String propertySuffix,
146: String defaultValue) {
147: return propertyHelper.getProperty(getClass().getName(),
148: propertySuffix, defaultValue);
149: }
150:
151: private Boolean getBooleanProperty(String propertySuffix) {
152: return propertyHelper.getBooleanProperty(getClass().getName(),
153: propertySuffix);
154: }
155:
156: public void gearUp() {
157: setKeyStoreType(getProperty(PROPERTY_SUFFIX_KEY_STORE_TYPE,
158: KEY_STORE_TYPE));
159: setKeyStoreProviderName(getProperty(
160: PROPERTY_SUFFIX_KEY_STORE_PROVIDER_NAME,
161: KEY_STORE_PROVIDER_NAME));
162: setKeyManagerAlgorithm(getProperty(
163: PROPERTY_SUFFIX_KEY_MANAGER_ALGORITHM,
164: KEY_MANAGER_ALGORITHM));
165: setKeyManagerProviderName(getProperty(
166: PROPERTY_SUFFIX_KEY_MANAGER_PROVIDER_NAME,
167: KEY_MANAGER_PROVIDER_NAME));
168:
169: setTrustStoreType(getProperty(PROPERTY_SUFFIX_TRUST_STORE_TYPE,
170: TRUST_STORE_TYPE));
171: setTrustStoreProviderName(getProperty(
172: PROPERTY_SUFFIX_TRUST_STORE_PROVIDER_NAME,
173: TRUST_STORE_PROVIDER_NAME));
174: setTrustManagerAlgorithm(getProperty(
175: PROPERTY_SUFFIX_TRUST_MANAGER_ALGORITHM,
176: TRUST_MANAGER_ALGORITHM));
177: setTrustManagerProviderName(getProperty(
178: PROPERTY_SUFFIX_TRUST_MANAGER_PROVIDER_NAME,
179: TRUST_MANAGER_PROVIDER_NAME));
180: setTrustAllCertificates(getBooleanProperty(PROPERTY_SUFFIX_TRUST_ALL_CERTIFICATES));
181:
182: setProtocol(getProperty(PROPERTY_SUFFIX_PROTOCOL, PROTOCOL));
183: setProviderName(getProperty(PROPERTY_SUFFIX_PROVIDER_NAME,
184: PROVIDER_NAME));
185:
186: String ciphers = getProperty(PROPERTY_SUFFIX_CIPHERS, CIPHERS);
187: StringTokenizer tokenizer = new StringTokenizer(ciphers);
188: List lCiphers = new ArrayList();
189: while (tokenizer.hasMoreTokens()) {
190: lCiphers.add(tokenizer.nextToken());
191: }
192: setCiphers((String[]) lCiphers.toArray(new String[lCiphers
193: .size()]));
194:
195: setHostName(getProperty(PROPERTY_SUFFIX_HOST_NAME, HOST_NAME));
196: setPort(getProperty(PROPERTY_SUFFIX_PORT, PORT));
197: }
198:
199: private SecurityContext securityContext;
200:
201: public static String PROPERTY_SUFFIX_KEY_STORE_TYPE = "key.store.type";
202: public static String KEY_STORE_TYPE = "jks";
203: private String keyStoreType;
204:
205: public static String PROPERTY_SUFFIX_KEY_STORE_PROVIDER_NAME = "key.store.provider.name";
206: public static String KEY_STORE_PROVIDER_NAME = "PortalServer";
207: private String keyStoreProviderName;
208:
209: public static String PROPERTY_SUFFIX_KEY_MANAGER_ALGORITHM = "key.manager.algorithm";
210: public static String KEY_MANAGER_ALGORITHM = "SunX509";
211: private String keyManagerAlgorithm;
212:
213: public static String PROPERTY_SUFFIX_KEY_MANAGER_PROVIDER_NAME = "key.manager.provider.name";
214: public static String KEY_MANAGER_PROVIDER_NAME = "PortalServer";
215: private String keyManagerProviderName;
216:
217: public static String PROPERTY_SUFFIX_TRUST_STORE_TYPE = "trust.store.type";
218: public static String TRUST_STORE_TYPE = "jks";
219: private String trustStoreType;
220:
221: public static String PROPERTY_SUFFIX_TRUST_STORE_PROVIDER_NAME = "trust.store.provider.name";
222: public static String TRUST_STORE_PROVIDER_NAME = "PortalServer";
223: private String trustStoreProviderName;
224:
225: public static String PROPERTY_SUFFIX_TRUST_MANAGER_ALGORITHM = "trust.manager.algorithm";
226: public static String TRUST_MANAGER_ALGORITHM = "SunX509";
227: private String trustManagerAlgorithm;
228:
229: public static String PROPERTY_SUFFIX_TRUST_MANAGER_PROVIDER_NAME = "trust.manager.provider.name";
230: public static String TRUST_MANAGER_PROVIDER_NAME = "PortalServer";
231: private String trustManagerProviderName;
232:
233: public static String PROPERTY_SUFFIX_TRUST_ALL_CERTIFICATES = "trust.all.certificates";
234: private Boolean trustAllCertificates;
235:
236: public static String PROPERTY_SUFFIX_PROTOCOL = "protocol";
237: public static String PROTOCOL = "TLSv1";
238: private String protocol;
239:
240: public static String PROPERTY_SUFFIX_PROVIDER_NAME = "provider.name";
241: public static String PROVIDER_NAME = "SunJSSE";
242: private String providerName;
243:
244: public static String PROPERTY_SUFFIX_CIPHERS = "ciphers";
245: public static String CIPHERS = "SSL_RSA_WITH_RC4_128_MD5";
246: private String[] ciphers;
247:
248: public static String PROPERTY_SUFFIX_HOST_NAME = "host.name";
249: public static String HOST_NAME = "127.0.0.1";
250: private String hostName;
251:
252: public static String PROPERTY_SUFFIX_PORT = "port";
253: public static String PORT = "49156";
254: private String port;
255: }
|