PolicyNegoziazioneToken.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */


  20. package org.openspcoop2.pdd.core.token;

  21. import java.io.Serializable;
  22. import java.util.ArrayList;
  23. import java.util.List;

  24. import org.apache.commons.lang.StringUtils;
  25. import org.openspcoop2.core.config.constants.CostantiConfigurazione;
  26. import org.openspcoop2.pdd.config.dynamic.PddPluginLoader;
  27. import org.openspcoop2.pdd.core.token.parser.BasicNegoziazioneTokenParser;
  28. import org.openspcoop2.pdd.core.token.parser.INegoziazioneTokenParser;
  29. import org.openspcoop2.pdd.core.token.parser.TipologiaClaimsNegoziazione;
  30. import org.openspcoop2.utils.resources.ClassLoaderUtilities;
  31. import org.openspcoop2.utils.transport.http.HttpRequestMethod;

  32. /**    
  33.  * PolicyGestioneToken
  34.  *
  35.  * @author Poli Andrea (poli@link.it)
  36.  * @author $Author$
  37.  * @version $Rev$, $Date$
  38.  */
  39. public class PolicyNegoziazioneToken extends AbstractPolicyToken implements Serializable {

  40.     /**
  41.      *
  42.      */
  43.     private static final long serialVersionUID = 1L;
  44.    
  45.    
  46.     public INegoziazioneTokenParser getNegoziazioneTokenParser() throws TokenException {
  47.         INegoziazioneTokenParser parser = null;
  48.         TipologiaClaimsNegoziazione tipologiaClaims = TipologiaClaimsNegoziazione.valueOf(this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_PARSER_TYPE));
  49.        
  50.         if(this.isCustomGrant()) {
  51.             String customParser = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_PARSER_TYPE_CUSTOM);
  52.             if(customParser!=null && StringUtils.isNotEmpty(customParser)) {
  53.                 tipologiaClaims = TipologiaClaimsNegoziazione.valueOf(customParser);
  54.             }
  55.         }
  56.        
  57.         if(TipologiaClaimsNegoziazione.CUSTOM.equals(tipologiaClaims)) {
  58.             return getNegoziazioneTokenCustomParser();
  59.         }
  60.         else{
  61.             parser = new BasicNegoziazioneTokenParser(tipologiaClaims, TokenUtilities.getRetrieveResponseClaimsMappingProperties(this.properties));
  62.         }
  63.         return parser;
  64.     }
  65.     private INegoziazioneTokenParser getNegoziazioneTokenCustomParser() throws TokenException {
  66.         INegoziazioneTokenParser parser = null;
  67.         String className = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_PARSER_CLASS_NAME);
  68.         if(className!=null && StringUtils.isNotEmpty(className) && !CostantiConfigurazione.POLICY_ID_NON_DEFINITA.equals(className)) {
  69.             try {
  70.                 parser = (INegoziazioneTokenParser) ClassLoaderUtilities.newInstance(className);
  71.             }catch(Exception e) {
  72.                 throw new TokenException(e.getMessage(),e);
  73.             }
  74.         }
  75.         else {
  76.             String tipo = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_PARSER_PLUGIN_TYPE);
  77.             if(tipo!=null && StringUtils.isNotEmpty(tipo) && !CostantiConfigurazione.POLICY_ID_NON_DEFINITA.equals(tipo)) {
  78.                 try{
  79.                     PddPluginLoader pluginLoader = PddPluginLoader.getInstance();
  80.                     parser = pluginLoader.newTokenNegoziazione(tipo);
  81.                 }catch(Exception e){
  82.                     throw new TokenException(e.getMessage(),e); // descrizione errore già corretta
  83.                 }
  84.             }
  85.             else {
  86.                 throw new TokenException("Deve essere selezionato un plugin per il 'Formato Risposta'");
  87.             }
  88.         }
  89.         return parser;
  90.     }
  91.    
  92.     public String getEndpoint() {
  93.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_URL);
  94.     }
  95.    
  96.     public boolean isEndpointHttps() {
  97.         return TokenUtilities.isEnabled(this.defaultProperties, Costanti.POLICY_ENDPOINT_HTTPS_STATO)
  98.                 || isHttpsAuthentication(); // anche solo se è abilitato httpsAuthentication, di fatto è abilitato https    
  99.     }
  100.     public boolean isHttpsAuthentication() {
  101.         return TokenUtilities.isEnabled(this.defaultProperties, Costanti.POLICY_RETRIEVE_TOKEN_AUTH_SSL_STATO);
  102.     }
  103.    
  104.     public boolean isBasicAuthentication() {
  105.         return TokenUtilities.isEnabled(this.defaultProperties, Costanti.POLICY_RETRIEVE_TOKEN_AUTH_BASIC_STATO);  
  106.     }
  107.     public String getBasicAuthenticationUsername() {
  108.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_AUTH_BASIC_USERNAME);
  109.     }
  110.     public String getBasicAuthenticationPassword() {
  111.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_AUTH_BASIC_PASSWORD);
  112.     }
  113.     public boolean isBasicAuthenticationAsAuthorizationHeader() {
  114.         return TokenUtilities.isEnabled(this.defaultProperties, Costanti.POLICY_RETRIEVE_TOKEN_AUTH_BASIC_AS_AUTHORIZATION_HEADER);
  115.     }
  116.    
  117.     public boolean isBearerAuthentication() {
  118.         return TokenUtilities.isEnabled(this.defaultProperties, Costanti.POLICY_RETRIEVE_TOKEN_AUTH_BEARER_STATO);  
  119.     }
  120.     public String getBeareAuthenticationToken() {
  121.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_AUTH_BEARER_TOKEN);
  122.     }
  123.    
  124.     public boolean isClientCredentialsGrant() {
  125.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_MODE);
  126.         return Costanti.ID_RETRIEVE_TOKEN_METHOD_CLIENT_CREDENTIAL.equals(mode);
  127.     }
  128.     public boolean isRfc7523x509Grant() {
  129.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_MODE);
  130.         return Costanti.ID_RETRIEVE_TOKEN_METHOD_RFC_7523_X509.equals(mode);
  131.     }
  132.     public boolean isRfc7523ClientSecretGrant() {
  133.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_MODE);
  134.         return Costanti.ID_RETRIEVE_TOKEN_METHOD_RFC_7523_CLIENT_SECRET.equals(mode);
  135.     }
  136.     public boolean isUsernamePasswordGrant() {
  137.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_MODE);
  138.         return Costanti.ID_RETRIEVE_TOKEN_METHOD_USERNAME_PASSWORD.equals(mode);
  139.     }
  140.     public boolean isCustomGrant() {
  141.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_MODE);
  142.         return Costanti.ID_RETRIEVE_TOKEN_METHOD_CUSTOM.equals(mode);
  143.     }
  144.     public String getLabelGrant() {
  145.         if(this.isClientCredentialsGrant()) {
  146.             return Costanti.ID_RETRIEVE_TOKEN_METHOD_CLIENT_CREDENTIAL_LABEL;
  147.         }
  148.         else if(this.isUsernamePasswordGrant()) {
  149.             return Costanti.ID_RETRIEVE_TOKEN_METHOD_USERNAME_PASSWORD_LABEL;
  150.         }
  151.         else if(this.isRfc7523x509Grant()) {
  152.             return Costanti.ID_RETRIEVE_TOKEN_METHOD_RFC_7523_X509_LABEL;
  153.         }
  154.         else if(this.isRfc7523ClientSecretGrant()) {
  155.             return Costanti.ID_RETRIEVE_TOKEN_METHOD_RFC_7523_CLIENT_SECRET_LABEL;
  156.         }
  157.         else if(this.isCustomGrant()) {
  158.             return Costanti.ID_RETRIEVE_TOKEN_METHOD_CUSTOM_LABEL;
  159.         }
  160.         return "Non definita";
  161.     }
  162.     public boolean isPDND() {
  163.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_MODE_PDND);
  164.         return "true".equalsIgnoreCase(mode);
  165.     }
  166.    
  167.     public String getUsernamePasswordGrantUsername() {
  168.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_USERNAME);
  169.     }
  170.     public String getUsernamePasswordGrantPassword() {
  171.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_PASSWORD);
  172.     }
  173.    
  174.     public String getScopeString() {
  175.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_SCOPES);
  176.     }
  177.     public List<String> getScopes(NegoziazioneTokenDynamicParameters dynamicParameters) {
  178.         List<String> l = new ArrayList<>();
  179.         String scopes = dynamicParameters.getScope();
  180.         if(scopes!=null) {
  181.             if(scopes.contains(",")) {
  182.                 String [] tmp = scopes.split(",");
  183.                 for (String s : tmp) {
  184.                     l.add(s.trim());
  185.                 }
  186.             }
  187.             else {
  188.                 l.add(scopes.trim());
  189.             }
  190.         }
  191.         return l;
  192.     }
  193.     public String getAudience() {
  194.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_AUDIENCE);
  195.     }
  196.     public boolean isFormClientIdApplicativoModI() {
  197.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORM_CLIENT_ID_MODE);
  198.         return mode!=null && Costanti.CHOICE_APPLICATIVO_MODI_VALUE.equals(mode);
  199.     }
  200.     public boolean isFormClientIdFruizioneModI() {
  201.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORM_CLIENT_ID_MODE);
  202.         return mode!=null && Costanti.CHOICE_FRUIZIONE_MODI_VALUE.equals(mode);
  203.     }
  204.     public String getFormClientId() {
  205.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORM_CLIENT_ID);
  206.     }
  207.     public String getFormResource() {
  208.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORM_RESOURCE);
  209.     }
  210.     public String getFormParameters() {
  211.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORM_PARAMETERS);
  212.     }
  213.    
  214.     public String getHttpMethod() {
  215.         if(this.isCustomGrant()) {
  216.             String httpMethod = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_HTTP_METHOD);
  217.             if(httpMethod!=null && StringUtils.isNotEmpty(httpMethod)) {
  218.                 return httpMethod;
  219.             }
  220.             return HttpRequestMethod.GET.name();
  221.         }
  222.         return HttpRequestMethod.POST.name();
  223.     }
  224.     public String getHttpContentType() {
  225.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_HTTP_CONTENT_TYPE);
  226.     }
  227.     public String getHttpHeaders() {
  228.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_HTTP_HEADERS);
  229.     }
  230.    
  231.     public String getDynamicPayloadType() {
  232.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_HTTP_PAYLOAD_TEMPLATE_TYPE);
  233.     }
  234.     public boolean isDynamicPayloadTemplate() {
  235.         return Costanti.POLICY_RETRIEVE_TOKEN_HTTP_PAYLOAD_TEMPLATE_TYPE_TEMPLATE.equals(this.getDynamicPayloadType());
  236.     }
  237.     public boolean isDynamicPayloadFreemarkerTemplate() {
  238.         return Costanti.POLICY_RETRIEVE_TOKEN_HTTP_PAYLOAD_TEMPLATE_TYPE_FREEMARKER_TEMPLATE.equals(this.getDynamicPayloadType());
  239.     }
  240.     public boolean isDynamicPayloadVelocityTemplate() {
  241.         return Costanti.POLICY_RETRIEVE_TOKEN_HTTP_PAYLOAD_TEMPLATE_TYPE_VELOCITY_TEMPLATE.equals(this.getDynamicPayloadType());
  242.     }
  243.     public String getDynamicPayload() {
  244.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_HTTP_PAYLOAD);
  245.     }
  246.    
  247.     public boolean isSaveErrorInCache() {
  248.         return TokenUtilities.isEnabled(this.defaultProperties, Costanti.POLICY_RETRIEVE_TOKEN_SAVE_ERROR_IN_CACHE);    
  249.     }
  250.    
  251.    
  252.     public String getForwardTokenMode() {
  253.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORWARD_MODE);
  254.     }
  255.     public String getForwardTokenModeCustomHeader() {
  256.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORWARD_MODE_CUSTOM_HEADER_NAME);
  257.     }
  258.     public String getForwardTokenModeCustomUrl() {
  259.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_FORWARD_MODE_CUSTOM_URL_PARAMETER_NAME);
  260.     }
  261.    
  262.     public boolean isJwtClientIdApplicativoModI() {
  263.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_CLIENT_ID_MODE);
  264.         return mode!=null && Costanti.CHOICE_APPLICATIVO_MODI_VALUE.equals(mode);
  265.     }
  266.     public boolean isJwtClientIdFruizioneModI() {
  267.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_CLIENT_ID_MODE);
  268.         return mode!=null && Costanti.CHOICE_FRUIZIONE_MODI_VALUE.equals(mode);
  269.     }
  270.     public String getJwtClientId() {
  271.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_CLIENT_ID);
  272.     }
  273.     public String getJwtClientSecret() {
  274.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_CLIENT_SECRET);
  275.     }
  276.     public boolean isJwtIssuerApplicativoModI() {
  277.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_ISSUER_MODE);
  278.         return mode!=null && Costanti.CHOICE_APPLICATIVO_MODI_VALUE.equals(mode);
  279.     }
  280.     public boolean isJwtIssuerFruizioneModI() {
  281.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_ISSUER_MODE);
  282.         return mode!=null && Costanti.CHOICE_FRUIZIONE_MODI_VALUE.equals(mode);
  283.     }
  284.     public String getJwtIssuer() {
  285.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_ISSUER);
  286.     }
  287.     public boolean isJwtSubjectApplicativoModI() {
  288.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SUBJECT_MODE);
  289.         return mode!=null && Costanti.CHOICE_APPLICATIVO_MODI_VALUE.equals(mode);
  290.     }
  291.     public boolean isJwtSubjectFruizioneModI() {
  292.         String mode = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SUBJECT_MODE);
  293.         return mode!=null && Costanti.CHOICE_FRUIZIONE_MODI_VALUE.equals(mode);
  294.     }
  295.     public String getJwtSubject() {
  296.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SUBJECT);
  297.     }
  298.     public String getJwtIdentifier() {
  299.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_IDENTIFIER);
  300.     }
  301.     public String getJwtAudience() {
  302.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_AUDIENCE);
  303.     }
  304.     public Integer getJwtTtlSeconds() {
  305.         String ttl = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_EXPIRED_TTL_SECONDS);
  306.         if(ttl==null || StringUtils.isEmpty(ttl)) {
  307.             ttl = Costanti.POLICY_RETRIEVE_TOKEN_JWT_EXPIRED_TTL_SECONDS_DEFAULT_VALUE;
  308.         }
  309.         return Integer.valueOf(ttl);
  310.     }
  311.     public String getJwtPurposeId() {
  312.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_PURPOSE_ID);
  313.     }
  314.     public String getJwtSessionInfo() {
  315.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SESSION_INFO);
  316.     }
  317.     public String getJwtClaims() {
  318.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_CLAIMS);
  319.     }
  320.     public String getJwtSignAlgorithm() {
  321.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_ALGORITHM);
  322.     }
  323.     public boolean isJwtSignIncludeKeyIdWithKeyAlias() {
  324.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID);
  325.         return tmp!=null && Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID_MODE_ALIAS.equals(tmp);
  326.     }
  327.     public boolean isJwtSignIncludeKeyIdWithClientId() {
  328.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID);
  329.         return tmp!=null && Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID_MODE_CLIENT_ID.equals(tmp);
  330.     }
  331.     public boolean isJwtSignIncludeKeyIdApplicativoModI() {
  332.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID);
  333.         return tmp!=null && Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID_MODE_APPLICATIVO_MODI.equals(tmp);
  334.     }
  335.     public boolean isJwtSignIncludeKeyIdFruizioneModI() {
  336.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID);
  337.         return tmp!=null && Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID_MODE_FRUIZIONE_MODI.equals(tmp);
  338.     }
  339.     public boolean isJwtSignIncludeKeyIdCustom() {
  340.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID);
  341.         return tmp!=null && Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID_MODE_CUSTOM.equals(tmp);
  342.     }
  343.     public String getJwtSignIncludeKeyIdCustom() {
  344.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_KEY_ID_VALUE);
  345.     }
  346.     public boolean isJwtSignIncludeX509Cert() {
  347.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_X509_CERT);
  348.         return tmp!=null && Boolean.valueOf(tmp);
  349.     }
  350.     public String getJwtSignIncludeX509URL() {
  351.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_X509_URL);
  352.     }
  353.     public boolean isJwtSignIncludeX509CertSha1() {
  354.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_X509_SHA1);
  355.         return tmp!=null && Boolean.valueOf(tmp);
  356.     }
  357.     public boolean isJwtSignIncludeX509CertSha256() {
  358.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_INCLUDE_X509_SHA256);
  359.         return tmp!=null && Boolean.valueOf(tmp);
  360.     }
  361.     public boolean isJwtSignJoseContentType() {
  362.         String tmp = this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_JOSE_CONTENT_TYPE);
  363.         return tmp!=null && Boolean.valueOf(tmp);
  364.     }
  365.     public String getJwtSignJoseType() {
  366.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_JOSE_TYPE);
  367.     }
  368.     public boolean isJwtSignKeystoreApplicativoModI() {
  369.         return Costanti.KEYSTORE_TYPE_APPLICATIVO_MODI_VALUE.equals(getJwtSignKeystoreType());
  370.     }
  371.     public boolean isJwtSignKeystoreFruizioneModI() {
  372.         return Costanti.KEYSTORE_TYPE_FRUIZIONE_MODI_VALUE.equals(getJwtSignKeystoreType());
  373.     }
  374.     public String getJwtSignKeystoreType() {
  375.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYSTORE_TYPE);
  376.     }
  377.     public String getJwtSignKeystoreFile() {
  378.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYSTORE_FILE);
  379.     }
  380.     public String getJwtSignKeystoreFilePublicKey() {
  381.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYSTORE_FILE_PUBLIC_KEY);
  382.     }
  383.     public String getJwtSignKeyPairAlgorithm() {
  384.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYPAIR_ALGORITHM);
  385.     }
  386.     public String getJwtSignKeystorePassword() {
  387.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYSTORE_PASSWORD);
  388.     }
  389.     public String getJwtSignKeyAlias() {
  390.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEY_ALIAS);
  391.     }
  392.     public String getJwtSignKeyPassword() {
  393.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEY_PASSWORD);
  394.     }
  395.     public String getJwtSignKeystoreByokPolicy() {
  396.         return this.defaultProperties.getProperty(Costanti.POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYSTORE_BYOK_POLICY);
  397.     }

  398. }