01: /*
02: * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
03: * PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
04: */
05: package com.sun.portal.monitoring.security.ssl;
06:
07: import javax.net.ssl.KeyManager;
08: import javax.net.ssl.SSLContext;
09: import javax.net.ssl.SSLSocketFactory;
10: import javax.net.ssl.TrustManager;
11: import java.security.KeyManagementException;
12: import java.security.NoSuchAlgorithmException;
13: import java.security.NoSuchProviderException;
14:
15: public class Ssl {
16: public SslContext getSslContext() {
17: return sslContext;
18: }
19:
20: public void setSslContext(SslContext sslContext) {
21: this .sslContext = sslContext;
22: }
23:
24: public SSLContext getContext() {
25: return context;
26: }
27:
28: public void setContext(SSLContext context) {
29: this .context = context;
30: }
31:
32: public KeyManager[] getKeyManagers() {
33: return keyManagers;
34: }
35:
36: public void setKeyManagers(KeyManager[] keyManagers) {
37: this .keyManagers = keyManagers;
38: }
39:
40: public TrustManager[] getTrustManagers() {
41: return trustManagers;
42: }
43:
44: public void setTrustManagers(TrustManager[] trustManagers) {
45: this .trustManagers = trustManagers;
46: }
47:
48: public void gearUp() throws SslException {
49: ManagersFactory managersFactory = new ManagersFactory();
50: managersFactory.setSslContext(sslContext);
51:
52: keyManagers = managersFactory.getKeyManagers();
53: trustManagers = managersFactory.getTrustManagers();
54:
55: try {
56: context = SSLContext.getInstance(sslContext.getProtocol(),
57: sslContext.getProviderName());
58: } catch (NoSuchAlgorithmException nsae) {
59: throw new SslException(nsae);
60: } catch (NoSuchProviderException nspe) {
61: throw new SslException(nspe);
62: }
63:
64: try {
65: context.init(keyManagers, trustManagers, null);
66: } catch (KeyManagementException kme) {
67: throw new SslException(kme);
68: }
69: }
70:
71: public SSLSocketFactory getSSLSocketFactory() {
72: return context.getSocketFactory();
73: }
74:
75: private SslContext sslContext;
76:
77: private SSLContext context;
78: private KeyManager[] keyManagers;
79: private TrustManager[] trustManagers;
80: }
|