001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)SecurityServiceConfigMBean.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: /**
030: * SecurityServiceConfigMBean.java
031: *
032: * SUN PROPRIETARY/CONFIDENTIAL.
033: * This software is the proprietary information of Sun Microsystems, Inc.
034: * Use is subject to license terms.
035: *
036: * Created on December 16, 2004, 1:45 PM
037: */package com.sun.jbi.internal.security.mbeans;
038:
039: import com.sun.jbi.management.common.GenericConfigurationMBean;
040:
041: /**
042: * This MBean interface extends the Configuration MBean interface for the
043: * Security Service installation time configuration.
044: *
045: * @author Sun Microsystems, Inc.
046: */
047: public interface SecurityServiceConfigMBean extends
048: GenericConfigurationMBean {
049:
050: /*-------------------------------------------------------------------------------*\
051: * User Domain Operations *
052: \*-------------------------------------------------------------------------------*/
053:
054: /**
055: * @param defUserDomain is the default User Domain.
056: */
057: void setDefaultUserDomainName(String defUserDomain);
058:
059: /**
060: * @return the default User Domain name.
061: */
062: String getDefaultUserDomainName();
063:
064: /**
065: * Add a new User Domain. If a User Domain by the specified name exists, it is
066: * overwritten with the new one.
067: *
068: * @param name of the domain.
069: * @param domain is the implementation class that implements the UserDomain interface.
070: */
071: void addUserDomain(String name, String domain);
072:
073: /**
074: * Remove a User Domain.
075: *
076: * @param name of the domain.
077: */
078: void removeUserDomain(String name);
079:
080: /**
081: * Add a parameter to a User Domain, if the domain does not exist, the parameter is
082: * not added.
083: *
084: * @param domain name of the UserDomain.
085: * @param name is the name of the parameter.
086: * @param parameter is the value for the parameter.
087: */
088: void addParameterToUserDomain(String domain, String name,
089: String parameter);
090:
091: /**
092: * Remove a parameter to a User Domain.
093: *
094: * @param domain name of the UserDomain.
095: * @param name is the name of the parameter.
096: */
097: void removeParameterFromUserDomain(String domain, String name);
098:
099: /*-------------------------------------------------------------------------------*\
100: * KeyStore Manager Operations *
101: \*-------------------------------------------------------------------------------*/
102:
103: /**
104: * @param defKSMgr is the default KeyStore Manager.
105: */
106: void setDefaultKeyStoreManagerName(String defKSMgr);
107:
108: /**
109: * @return the default KeyStore Manager.
110: */
111: String getDefaultKeyStoreManagerName();
112:
113: /**
114: * Add a new KeyStore Manager. If a KeyStoreManager by the specified name exists,
115: * it is overwritten with the new one.
116: *
117: * @param name of the manager.
118: * @param manager is the implementation class that implements the KeyStoreManager
119: * interface.
120: */
121: void addKeyStoreManager(String name, String manager);
122:
123: /**
124: * Remove a KeyStore Manager.
125: *
126: * @param name of the manager.
127: */
128: void removeKeyStoreManager(String name);
129:
130: /**
131: * Add a parameter to a KeyStoreManager, if it does not exist, the parameter is
132: * not added.
133: *
134: * @param manager is the name of the KeyStoreManager.
135: * @param name is the name of the parameter.
136: * @param value is the value for the parameter.
137: */
138: void addParameterToKeyStoreManager(String manager, String name,
139: String value);
140:
141: /**
142: * Remove a parameter from the KeyStoreManager.
143: *
144: * @param manager is the name of the KeyStoreManager.
145: * @param name is the name of the parameter.
146: */
147: void removeParameterFromKeyStoreManager(String manager, String name);
148:
149: /*-------------------------------------------------------------------------------*\
150: * Security Context Operations *
151: \*-------------------------------------------------------------------------------*/
152:
153: /**
154: * Set the Client Alias from the TransportSecurity Context.
155: * @param alias is the SSL Client alias.
156: */
157: void setSSLClientAlias(String alias);
158:
159: /**
160: * Get the Client Alias from the TransportSecurity Context.
161: * @return the SSL Client alias.
162: */
163: String getSSLClientAlias();
164:
165: /**
166: * Set Client Alias from the TransportSecurity Context.
167: *
168: * @param protocol is the SSL Client protocol, allowed values are SSLv3, TLS and TLSv1
169: */
170: void setSSLClientProtocol(String protocol);
171:
172: /**
173: * Get the Client SSL Protocol from the TransportSecurity Context.
174: *
175: * @return the SSL Client Protocol.
176: */
177: String getSSLClientProtocol();
178:
179: /**
180: * Set the SSL Client Use Default parameter.
181: *
182: * @param flag - true/false inducates whether to use the
183: * default Application Server SSL context or not.
184: */
185: void setSSLClientUseDefault(boolean flag);
186:
187: /**
188: * Get the SSL Client Use Default parameter.
189: *
190: * @return true/false inducates whether the
191: * default Application Server SSL context is being used or not.
192: */
193: boolean getSSLClientUseDefault();
194:
195: /**
196: * Set the SSL Server Req. Client Auth flag.
197: *
198: * @param flag - true/false inducates whether Client Auth
199: * is required by default.
200: */
201: void setSSLServerRequireClientAuth(boolean flag);
202:
203: /**
204: * Get the SSL Server Req. Client Auth flag.
205: *
206: * @return true/false inducates whether Client Auth
207: * is required by default.
208: */
209: boolean getSSLServerRequireClientAuth();
210:
211: /*-------------------------------------------------------------------------------*\
212: * Operations to display Configuration information *
213: \*-------------------------------------------------------------------------------*/
214:
215: /**
216: * Get an XML String which has the meta-data for a particular user domain
217: * User Domain.
218: *
219: * @param name is the logical name of the UserDomain. If there is no such UserDomain
220: * or the name is null then a empty string "" is returned.
221: * @return an XML String with information for a particular UserDomain.
222: */
223: String getUserDomain(String name);
224:
225: /**
226: * Get an XML String listing all the UserDomains and their meta-data.
227: *
228: * @return an XML String with information for all the UserDomains.
229: */
230: String getUserDomains();
231:
232: /**
233: * Get an XML String which has the meta-data for a particular key store manager.
234: *
235: * @param name is the logical name of the KeyStoreManager. If there is no such
236: * KeyStoreManager or the name is null then a empty string "" is returned.
237: * @return an XML String with information for a particular KeyStoreManager.
238: */
239: String getKeyStoreManager(String name);
240:
241: /**
242: * Get an XML String listing all the KeyStoreManagers and their meta-data.
243: *
244: * @return an XML String with information for all the KeyStoreManagers.
245: */
246: String getKeyStoreManagers();
247:
248: /**
249: * Get an XML String which has the meta-data for the Transport Security Context.
250: *
251: * @return an XML String with information for the Transport Security Context.
252: */
253: String getTransportSecurityConfig();
254:
255: }
|