ModIValidazioneSemanticaProfiloSicurezza.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.protocol.utils;
import org.openspcoop2.core.constants.CostantiDB;
import org.openspcoop2.protocol.sdk.Busta;
import org.openspcoop2.protocol.sdk.ProtocolException;
/**
* ModIValidazioneSemanticaProfiloSicurezza
*
* @author Poli Andrea (apoli@link.it)
* @author Lorenzo Nardi (nardi@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class ModIValidazioneSemanticaProfiloSicurezza {
private Busta busta;
private String securityMessageProfileNonFiltratoPDND;
private boolean sicurezzaTokenOauth;
private String securityMessageProfileSorgenteTokenIdAuth;
private boolean sicurezzaMessaggio;
private boolean sicurezzaMessaggioIDAR04 = false;
private String securityMessageProfile;
private boolean sicurezzaAudit;
private String securityAuditPattern;
public ModIValidazioneSemanticaProfiloSicurezza(Busta bustaParam, boolean isRichiesta) throws ProtocolException {
this.busta = bustaParam;
this.securityMessageProfileNonFiltratoPDND = this.busta.getProperty(CostantiDB.MODIPA_BUSTA_EXT_PROFILO_SICUREZZA_MESSAGGIO);
if(this.securityMessageProfileNonFiltratoPDND!=null) {
this.securityMessageProfileNonFiltratoPDND = ModIUtils.convertProfiloSicurezzaToConfigurationValue(this.securityMessageProfileNonFiltratoPDND);
}
this.securityMessageProfileSorgenteTokenIdAuth = this.busta.getProperty(CostantiDB.MODIPA_BUSTA_EXT_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN);
if(this.securityMessageProfileSorgenteTokenIdAuth!=null) {
this.securityMessageProfileSorgenteTokenIdAuth = ModIUtils.convertProfiloSicurezzaSorgenteTokenToConfigurationValue(this.securityMessageProfileSorgenteTokenIdAuth);
}
this.securityMessageProfile = this.securityMessageProfileNonFiltratoPDND;
if(this.securityMessageProfileSorgenteTokenIdAuth!=null &&
(
CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM01.equals(this.securityMessageProfileNonFiltratoPDND)
||
CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM02.equals(this.securityMessageProfileNonFiltratoPDND)
)
&&
(
CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_PDND.equals(this.securityMessageProfileSorgenteTokenIdAuth)
||
CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_OAUTH.equals(this.securityMessageProfileSorgenteTokenIdAuth)
)
){
this.securityMessageProfile = null;
}
this.sicurezzaTokenOauth = CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_PDND.equals(this.securityMessageProfileSorgenteTokenIdAuth)
||
CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_OAUTH.equals(this.securityMessageProfileSorgenteTokenIdAuth);
this.sicurezzaMessaggio = this.securityMessageProfile!=null && !CostantiDB.MODIPA_VALUE_UNDEFINED.equals(this.securityMessageProfile);
this.sicurezzaMessaggioIDAR04 = false;
if(this.sicurezzaMessaggio) {
this.sicurezzaMessaggioIDAR04 = CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0401.equals(this.securityMessageProfile)
||
CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0402.equals(this.securityMessageProfile);
}
this.securityAuditPattern = this.busta.getProperty(CostantiDB.MODIPA_BUSTA_EXT_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_AUDIT_PATTERN);
if(this.securityAuditPattern!=null) {
this.securityAuditPattern = ModIUtils.convertProfiloAuditToConfigurationValue(this.securityAuditPattern);
}
this.sicurezzaAudit = isRichiesta &&
this.securityAuditPattern!=null && !CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_OLD.equals(this.securityAuditPattern);
}
public Busta getBusta() {
return this.busta;
}
public String getSecurityMessageProfileNonFiltratoPDND() {
return this.securityMessageProfileNonFiltratoPDND;
}
public boolean isSicurezzaTokenOauth() {
return this.sicurezzaTokenOauth;
}
public String getSecurityMessageProfileSorgenteTokenIdAuth() {
return this.securityMessageProfileSorgenteTokenIdAuth;
}
public boolean isSicurezzaMessaggio() {
return this.sicurezzaMessaggio;
}
public boolean isSicurezzaMessaggioIDAR04() {
return this.sicurezzaMessaggioIDAR04;
}
public String getSecurityMessageProfile() {
return this.securityMessageProfile;
}
public boolean isSicurezzaAudit() {
return this.sicurezzaAudit;
}
public String getSecurityAuditPattern() {
return this.securityAuditPattern;
}
}