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: * @(#)AppSrvKeyStoreManager.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: /**
030: * KeyStoreManager.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 October 24, 2004, 12:35 AM
037: */package com.sun.jbi.internal.security.keymgt;
038:
039: import com.sun.jbi.StringTranslator;
040:
041: import java.security.cert.CertStore;
042: import java.security.KeyStore;
043: import java.util.Properties;
044: import java.util.logging.Logger;
045:
046: import javax.security.auth.callback.Callback;
047: import javax.security.auth.callback.CallbackHandler;
048: import javax.security.auth.callback.UnsupportedCallbackException;
049:
050: /**
051: *
052: * @author Sun Microsystems, Inc.
053: */
054: public class AppSrvKeyStoreManager implements
055: com.sun.jbi.internal.security.KeyStoreManager {
056:
057: /** KeyStoreManager Name. */
058: private String mName;
059:
060: /** Type Value { JavaStandard, SJSAS }. */
061: private String mType;
062:
063: /** The StringTranslator. */
064: // private StringTranslator mTranslator;
065: /** The App Serv CallbackHandler. */
066: private CallbackHandler mAppSrvCBHandler;
067:
068: /** Constructor. */
069: public AppSrvKeyStoreManager() {
070: mAppSrvCBHandler = null;
071: Logger mLogger = Logger
072: .getLogger(com.sun.jbi.internal.security.Constants.PACKAGE);
073: }
074:
075: /**
076: * Get the name of the KeyStoreManager.
077: * @return the name of KeyStoreManager
078: */
079: public String getName() {
080: return mName;
081: }
082:
083: /**
084: * Set the User KeyStoreManager.
085: * @param name is the name of the KeyStoreManager
086: */
087: public void setName(String name) {
088: mName = name;
089: }
090:
091: /**
092: * Get the Type String.
093: * In Shasta 1.0 we support "JavaStandard" which encompasses : JKS, PKCS12, JCEKS
094: * and "SJSAS" which implies the Application Server environment.
095: *
096: * @return manager type
097: */
098: public String getType() {
099: return mType;
100: }
101:
102: /**
103: * Set the type string.
104: *
105: * @param type is the type.
106: */
107: public void setType(String type) {
108: mType = type;
109: }
110:
111: /**
112: * Set the StringTranslator on the Plugin. The StringTranslator
113: * is created for the package the plugin belongs to.
114: *
115: * @param translator is the StringTranslator to use.
116: */
117: public void setStringTranslator(StringTranslator translator) {
118: // mTranslator = translator;
119: }
120:
121: /**
122: * @return a KeyStore instance. This method returns null, since we do not have
123: * access to App Serv keystore.
124: */
125: public KeyStore getKeyStore() {
126: return null;
127: }
128:
129: /**
130: * @return a TrustStore instance. This method returns null, use the
131: * TrustStoreCallback instead.
132: */
133: public KeyStore getTrustStore() {
134: return null;
135: }
136:
137: /**
138: * @return a CertificateStore instance, this method returns null, use
139: * CertStoreCallback
140: */
141: public CertStore getCertStore() {
142: return null;
143: }
144:
145: /**
146: * Reload the Key / Trust Stores.
147: *
148: * @throws IllegalStateException if the information cannot be reloaded
149: */
150: public void reload() throws IllegalStateException {
151: // initialize(mProps);
152: }
153:
154: /**
155: * Initialize this KeyStore Service.
156: *
157: * @param initProperties are the Properties specified for the Service
158: * @throws IllegalStateException if initialization fails.
159: */
160: public void initialize(Properties initProperties)
161: throws IllegalStateException {
162: try {
163: mAppSrvCBHandler = com.sun.jbi.internal.security.AppSrvEnvironment
164: .getCallbackHandler();
165: } catch (Exception ex) {
166: throw new IllegalStateException(ex.toString());
167: }
168: }
169:
170: /**
171: * The implementation on the CallbackHandlerInterface. This class supports
172: * CertStoreCallback, PrivateKeyCallback, SecretKeyCallback & TrustStoreCallback
173: *
174: * @param callbacks - array of Callbacks to be handled.
175: * @throws java.io.IOException - if an input or output error occurs.
176: * @throws UnsupportedCallbackException - if the implementation of this method
177: * does not support one or more of the Callbacks specified in the callbacks
178: * parameter.
179: */
180: public void handle(Callback[] callbacks)
181: throws java.io.IOException, UnsupportedCallbackException {
182: mAppSrvCBHandler.handle(callbacks);
183: }
184:
185: /**
186: * @return the password required for accessing the KeyStore
187: */
188: public String getKeyStorePassword() {
189: return null;
190: }
191:
192: /**
193: * @return the password required for accessing the Trust Store
194: */
195: public String geyTrustStorePassword() {
196: return null;
197: }
198:
199: }
|