/* * Copyright 2014 Federal Chancellery Austria * MOA-ID has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. */ package at.gv.egovernment.moa.id.protocols.pvp2x.signer; import java.util.Properties; import org.springframework.beans.factory.annotation.Autowired; import at.gv.egiz.eaaf.core.exceptions.EAAFException; import at.gv.egiz.eaaf.core.impl.utils.FileUtils; import at.gv.egiz.eaaf.modules.pvp2.impl.utils.AbstractCredentialProvider; import at.gv.egovernment.moa.id.commons.api.AuthConfiguration; import at.gv.egovernment.moa.util.MiscUtil; //@Service("PVPIDPCredentialProvider") public class IDPCredentialProvider extends AbstractCredentialProvider { public static final String IDP_JAVAKEYSTORE = "idp.ks.file"; public static final String IDP_KS_PASS = "idp.ks.kspassword"; public static final String IDP_KEYALIASMETADATA = "idp.ks.metadata.alias"; public static final String IDP_KEY_PASSMETADATA = "idp.ks.metadata.keypassword"; public static final String IDP_KEYALIASASSERTION = "idp.ks.assertion.sign.alias"; public static final String IDP_KEY_PASSASSERTION = "idp.ks.assertion.sign.keypassword"; public static final String IDP_KEYALIASENCRYTPION = "sp.ks.assertion.encryption.alias"; public static final String IDP_KEY_PASSENCRYTPION = "sp.ks.assertion.encryption.keypassword"; private @Autowired AuthConfiguration authConfig; private Properties props = null; /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getKeyStoreFilePath() */ @Override public String getKeyStoreFilePath() throws EAAFException { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); return FileUtils.makeAbsoluteURL( props.getProperty(IDP_JAVAKEYSTORE), authConfig.getRootConfigFileDir()); } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getKeyStorePassword() */ @Override public String getKeyStorePassword() { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); String value = props.getProperty(IDP_KS_PASS); if (MiscUtil.isNotEmpty(value)) return value.trim(); else return null; } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getMetadataKeyAlias() */ @Override public String getMetadataKeyAlias() { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); String value = props.getProperty(IDP_KEYALIASMETADATA); if (MiscUtil.isNotEmpty(value)) return value.trim(); else return null; } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getMetadataKeyPassword() */ @Override public String getMetadataKeyPassword() { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); String value = props.getProperty(IDP_KEY_PASSMETADATA); if (MiscUtil.isNotEmpty(value)) return value.trim(); else return null; } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getSignatureKeyAlias() */ @Override public String getSignatureKeyAlias() { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); String value = props.getProperty(IDP_KEYALIASASSERTION); if (MiscUtil.isNotEmpty(value)) return value.trim(); else return null; } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getSignatureKeyPassword() */ @Override public String getSignatureKeyPassword() { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); String value = props.getProperty(IDP_KEY_PASSASSERTION); if (MiscUtil.isNotEmpty(value)) return value.trim(); else return null; } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getEncryptionKeyAlias() */ @Override public String getEncryptionKeyAlias() { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); String value = props.getProperty(IDP_KEYALIASENCRYTPION); if (MiscUtil.isNotEmpty(value)) return value.trim(); else return null; } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getEncryptionKeyPassword() */ @Override public String getEncryptionKeyPassword() { if (props == null) props = authConfig.getGeneralPVP2ProperiesConfig(); String value = props.getProperty(IDP_KEY_PASSENCRYTPION); if (MiscUtil.isNotEmpty(value)) return value.trim(); else return null; } /* (non-Javadoc) * @see at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider#getCredentialName() */ @Override public String getFriendlyName() { return "IDP"; } }