package at.asitplus.eidas.specific.modules.auth.idaustria.utils; import org.springframework.beans.factory.annotation.Autowired; import at.asitplus.eidas.specific.modules.auth.idaustria.IdAustriaAuthConstants; import at.gv.egiz.eaaf.core.api.idp.IConfiguration; import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException; import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration; import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration.KeyStoreType; import at.gv.egiz.eaaf.modules.pvp2.impl.utils.AbstractCredentialProvider; /** * Credential provider for ID Austria PVP S-Profile client. * * @author tlenz * */ public class IdAustriaAuthCredentialProvider extends AbstractCredentialProvider { @Autowired IConfiguration authConfig; @Override public KeyStoreConfiguration getBasicKeyStoreConfig() throws EaafConfigurationException { final KeyStoreConfiguration keyStoreConfig = new KeyStoreConfiguration(); keyStoreConfig.setFriendlyName(IdAustriaAuthConstants.MODULE_NAME_FOR_LOGGING); keyStoreConfig.setKeyStoreType( authConfig.getBasicConfiguration(IdAustriaAuthConstants.CONFIG_PROPS_KEYSTORE_TYPE, KeyStoreType.PKCS12.getKeyStoreType())); keyStoreConfig.setKeyStoreName( authConfig.getBasicConfiguration(IdAustriaAuthConstants.CONFIG_PROPS_KEYSTORE_NAME)); keyStoreConfig.setSoftKeyStoreFilePath(getKeyStoreFilePath()); keyStoreConfig.setSoftKeyStorePassword( authConfig.getBasicConfiguration(IdAustriaAuthConstants.CONFIG_PROPS_KEYSTOREPASSWORD)); return keyStoreConfig; } private String getKeyStoreFilePath() throws EaafConfigurationException { final String path = authConfig.getBasicConfiguration( IdAustriaAuthConstants.CONFIG_PROPS_KEYSTORE_PATH); if (path == null) { throw new EaafConfigurationException(IdAustriaAuthConstants.ERRORTYPE_00, new Object[] { IdAustriaAuthConstants.CONFIG_PROPS_KEYSTORE_PATH }); } return path; } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider# * getMetadataKeyAlias() */ @Override public String getMetadataKeyAlias() { return authConfig.getBasicConfiguration( IdAustriaAuthConstants.CONFIG_PROPS_SIGN_METADATA_ALIAS); } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider# * getMetadataKeyPassword() */ @Override public String getMetadataKeyPassword() { return authConfig.getBasicConfiguration( IdAustriaAuthConstants.CONFIG_PROPS_SIGN_METADATA_KEY_PASSWORD); } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider# * getSignatureKeyAlias() */ @Override public String getSignatureKeyAlias() { return authConfig.getBasicConfiguration( IdAustriaAuthConstants.CONFIG_PROPS_SIGN_SIGNING_ALIAS); } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider# * getSignatureKeyPassword() */ @Override public String getSignatureKeyPassword() { return authConfig.getBasicConfiguration( IdAustriaAuthConstants.CONFIG_PROPS_SIGN_SIGNING_KEY_PASSWORD); } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider# * getEncryptionKeyAlias() */ @Override public String getEncryptionKeyAlias() { return authConfig.getBasicConfiguration( IdAustriaAuthConstants.CONFIG_PROPS_ENCRYPTION_ALIAS); } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider# * getEncryptionKeyPassword() */ @Override public String getEncryptionKeyPassword() { return authConfig.getBasicConfiguration( IdAustriaAuthConstants.CONFIG_PROPS_ENCRYPTION_KEY_PASSWORD); } }