package at.gv.egovernment.moa.spss.server.iaik.config; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import iaik.server.modules.keys.ConfigurationException; import iaik.server.modules.keys.SoftwareKeyModuleConfiguration; import at.gv.egovernment.moa.logging.LogMsg; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule; import at.gv.egovernment.moa.spss.util.MessageProvider; /** * An implementation of the SoftwareKeyModuleConfiguration wrapping * a SoftwareKeyModule from the MOA configuration. * * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration * @author Patrick Peck * @version $Id$ */ public class SoftwareKeyModuleConfigurationImpl extends AbstractKeyModuleConfigurationImpl implements SoftwareKeyModuleConfiguration { /** The wrapped SoftwareKeyModule. */ private SoftwareKeyModule keyModule; /** * Create a new SoftwareKeyModuleConfigurationImpl. * * @param keyModule The SoftwareKeyModule from the underlying MOA * configuration. */ public SoftwareKeyModuleConfigurationImpl(SoftwareKeyModule keyModule) { super(keyModule.getId()); this.keyModule = keyModule; } /** * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreTypeName() */ public String getKeyStoreTypeName() { return KEY_STORE_TYPE_NAME_PKCS12; } /** * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreAsStream() */ public InputStream getKeyStoreAsStream() { MessageProvider msg = MessageProvider.getInstance(); try { String message = msg.getMessage("config.18", new Object[] { keyModule.getFileName()}); Logger.info(new LogMsg(message)); return new FileInputStream(keyModule.getFileName()); } catch (FileNotFoundException e) { String message = msg.getMessage("config.09", new Object[] { keyModule.getFileName()}); throw new ConfigurationException(message, e, null); } } /** * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreAuthenticationData() */ public char[] getKeyStoreAuthenticationData() { return keyModule.getPassWord().toCharArray(); } }