1 /* 2 * Copyright 2006-2011 The Kuali Foundation 3 * 4 * Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php 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 17 package org.kuali.rice.ksb.config.xfire; 18 19 /* 20 import org.codehaus.xfire.MessageContext; 21 import org.codehaus.xfire.security.wss4j.WSS4JOutHandler; 22 */ 23 24 25 /** 26 * 27 * @author Kuali Rice Team (rice.collab@kuali.org) 28 */ 29 30 //TODO: Replace this class with a cxf wss4j out interceptor 31 public class XFireWSS4JOutHandler {} 32 33 /* 34 public class XFireWSS4JOutHandler extends WSS4JOutHandler { 35 36 private static final Logger LOG = Logger.getLogger(XFireWSS4JOutHandler.class); 37 38 private ServiceInfo serviceInfo; 39 40 public XFireWSS4JOutHandler(ServiceInfo serviceInfo) { 41 this.setProperty(WSHandlerConstants.ACTION, WSHandlerConstants.SIGNATURE); 42 this.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, CryptoPasswordCallbackHandler.class.getName()); 43 this.setProperty(WSHandlerConstants.SIG_KEY_ID, "IssuerSerial"); 44 this.setProperty(WSHandlerConstants.USER, ConfigContext.getCurrentContextConfig().getKeystoreAlias()); 45 this.serviceInfo = serviceInfo; 46 } 47 48 @Override 49 public Crypto loadSignatureCrypto(RequestData reqData) { 50 try { 51 return new Merlin(getMerlinProperties(), ClassLoaderUtils.getDefaultClassLoader()); 52 } catch (Exception e) { 53 throw new RiceRuntimeException(e); 54 } 55 } 56 57 @Override 58 public Crypto loadDecryptionCrypto(RequestData reqData) { 59 return loadSignatureCrypto(reqData); 60 } 61 62 protected Properties getMerlinProperties() { 63 Properties props = new Properties(); 64 props.put("org.apache.ws.security.crypto.merlin.keystore.type", "jks"); 65 props.put("org.apache.ws.security.crypto.merlin.keystore.password", ConfigContext.getCurrentContextConfig().getKeystorePassword()); 66 props.put("org.apache.ws.security.crypto.merlin.alias.password", ConfigContext.getCurrentContextConfig().getKeystorePassword()); 67 props.put("org.apache.ws.security.crypto.merlin.keystore.alias", ConfigContext.getCurrentContextConfig().getKeystoreAlias()); 68 props.put("org.apache.ws.security.crypto.merlin.file", ConfigContext.getCurrentContextConfig().getKeystoreFile()); 69 70 if (LOG.isDebugEnabled()) { 71 LOG.debug("Using keystore location " + ConfigContext.getCurrentContextConfig().getKeystoreFile()); 72 } 73 74 return props; 75 } 76 77 @Override 78 public void invoke(MessageContext context) throws Exception { 79 if (getServiceInfo().getServiceDefinition().getBusSecurity()) { 80 super.invoke(context); 81 } 82 } 83 84 public ServiceInfo getServiceInfo() { 85 return serviceInfo; 86 } 87 88 public void setServiceInfo(ServiceInfo serviceInfo) { 89 this.serviceInfo = serviceInfo; 90 } 91 92 } 93 */