CostantiProprieta.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.core.constants;

  21. import java.util.ArrayList;
  22. import java.util.List;

  23. /**
  24.  * CostantiProprieta
  25.  *
  26.  * @author Andrea Poli (apoli@link.it)
  27.  * @author $Author$
  28.  * @version $Rev$, $Date$
  29.  */
  30. public class CostantiProprieta {
  31.    
  32.     private CostantiProprieta() {}

  33.     // mvc
  34.     public static final String KEY_PROPERTIES_CUSTOM_SEPARATOR = "_@@@_";
  35.     public static final String KEY_PROPERTIES_DEFAULT_SEPARATOR = "_@@_";
  36.    
  37.     // commons
  38.     public static final String RS_SECURITY_BYOK_POLICY = "rs.security.keystore.file.byok";
  39.    
  40.     public static final String RS_SECURITY_KEYSTORE_PASSWORD = "rs.security.keystore.password";
  41.     public static final String RS_SECURITY_KEY_PASSWORD = "rs.security.key.password";
  42.     public static final String RS_SECURITY_KEYSTORE_TLS_PASSWORD = "rs.security.keystore.password.ssl";
  43.    
  44.     public static final String MERLIN_SECURITY_KEYSTORE_PASSWORD = "org.apache.ws.security.crypto.merlin.keystore.password";
  45.        
  46.    
  47.    
  48.     public static final String TOKEN_VALIDATION_ID = "validationToken";
  49.    
  50.     public static final String POLICY_INTROSPECTION_AUTH_BASIC_PASSWORD = "policy.introspection.endpoint.basic.password";
  51.     public static final String POLICY_INTROSPECTION_AUTH_BEARER_TOKEN = "policy.introspection.endpoint.bearer.token";
  52.     public static final String POLICY_USER_INFO_AUTH_BASIC_PASSWORD = "policy.userInfo.endpoint.basic.password";
  53.     public static final String POLICY_USER_INFO_AUTH_BEARER_TOKEN = "policy.userInfo.endpoint.bearer.token";
  54.    
  55.     private static List<String> tokenValidationProperties = new ArrayList<>();
  56.     public static List<String> getTokenValidationProperties() {
  57.         return tokenValidationProperties;
  58.     }
  59.     static {
  60.         tokenValidationProperties.add(POLICY_INTROSPECTION_AUTH_BASIC_PASSWORD);
  61.         tokenValidationProperties.add(POLICY_INTROSPECTION_AUTH_BEARER_TOKEN);
  62.         tokenValidationProperties.add(POLICY_USER_INFO_AUTH_BASIC_PASSWORD);
  63.         tokenValidationProperties.add(POLICY_USER_INFO_AUTH_BEARER_TOKEN);
  64.         tokenValidationProperties.add(RS_SECURITY_KEYSTORE_PASSWORD);
  65.         tokenValidationProperties.add(RS_SECURITY_KEY_PASSWORD);
  66.         tokenValidationProperties.add(RS_SECURITY_KEYSTORE_TLS_PASSWORD);
  67.         tokenValidationProperties.add(CostantiConnettori.CONNETTORE_HTTPS_TRUST_STORE_PASSWORD);
  68.         tokenValidationProperties.add(CostantiConnettori.CONNETTORE_HTTPS_KEY_STORE_PASSWORD);
  69.         tokenValidationProperties.add(CostantiConnettori.CONNETTORE_HTTPS_KEY_PASSWORD);
  70.         tokenValidationProperties.add(CostantiConnettori.CONNETTORE_HTTP_PROXY_PASSWORD);
  71.     }
  72.    
  73.    
  74.    
  75.    
  76.     public static final String TOKEN_NEGOZIAZIONE_ID = "retrieveToken";
  77.    
  78.     public static final String POLICY_RETRIEVE_TOKEN_PASSWORD = "policy.retrieveToken.password";
  79.     public static final String POLICY_RETRIEVE_TOKEN_AUTH_BASIC_PASSWORD = "policy.retrieveToken.endpoint.basic.password";
  80.     public static final String POLICY_RETRIEVE_TOKEN_AUTH_BEARER_TOKEN = "policy.retrieveToken.endpoint.bearer.token";
  81.     public static final String POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYSTORE_PASSWORD = "policy.retrieveToken.jwt.signature.keystorePassword";
  82.     public static final String POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEY_PASSWORD = "policy.retrieveToken.jwt.signature.keyPassword";
  83.     public static final String POLICY_RETRIEVE_TOKEN_JWT_CLIENT_SECRET= "policy.retrieveToken.jwt.clientSecret";
  84.    
  85.     private static List<String> tokenRetrieveProperties = new ArrayList<>();
  86.     public static List<String> getTokenRetrieveProperties() {
  87.         return tokenRetrieveProperties;
  88.     }
  89.     static {
  90.         tokenRetrieveProperties.add(POLICY_RETRIEVE_TOKEN_PASSWORD);
  91.         tokenRetrieveProperties.add(POLICY_RETRIEVE_TOKEN_AUTH_BASIC_PASSWORD);
  92.         tokenRetrieveProperties.add(POLICY_RETRIEVE_TOKEN_AUTH_BEARER_TOKEN);
  93.         tokenRetrieveProperties.add(POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEYSTORE_PASSWORD);
  94.         tokenRetrieveProperties.add(POLICY_RETRIEVE_TOKEN_JWT_SIGN_KEY_PASSWORD);
  95.         tokenRetrieveProperties.add(POLICY_RETRIEVE_TOKEN_JWT_CLIENT_SECRET);
  96.         tokenRetrieveProperties.add(CostantiConnettori.CONNETTORE_HTTPS_TRUST_STORE_PASSWORD);
  97.         tokenRetrieveProperties.add(CostantiConnettori.CONNETTORE_HTTPS_KEY_STORE_PASSWORD);
  98.         tokenRetrieveProperties.add(CostantiConnettori.CONNETTORE_HTTPS_KEY_PASSWORD);
  99.         tokenRetrieveProperties.add(CostantiConnettori.CONNETTORE_HTTP_PROXY_PASSWORD);
  100.     }
  101.    
  102.    
  103.    
  104.     public static final String ATTRIBUTE_AUTHORITY_ID = "attributeAuthority";
  105.    
  106.     public static final String AA_AUTH_BASIC_PASSWORD = "policy.endpoint.basic.password";
  107.     public static final String AA_AUTH_BEARER_TOKEN = "policy.endpoint.bearer.token";
  108.     public static final String AA_REQUEST_JWT_SIGN_KEYSTORE_PASSWORD = "policy.attributeAuthority.request.jws.keystore.password";
  109.     public static final String AA_REQUEST_JWT_SIGN_KEY_PASSWORD = "policy.attributeAuthority.request.jws.key.password";

  110.     private static List<String> attributeAuthorityProperties = new ArrayList<>();
  111.     public static List<String> getAttributeAuthorityProperties() {
  112.         return attributeAuthorityProperties;
  113.     }
  114.     static {
  115.         attributeAuthorityProperties.add(AA_AUTH_BASIC_PASSWORD);
  116.         attributeAuthorityProperties.add(AA_AUTH_BEARER_TOKEN);
  117.         attributeAuthorityProperties.add(AA_REQUEST_JWT_SIGN_KEYSTORE_PASSWORD);
  118.         attributeAuthorityProperties.add(AA_REQUEST_JWT_SIGN_KEY_PASSWORD);
  119.         attributeAuthorityProperties.add(RS_SECURITY_KEYSTORE_PASSWORD);
  120.         attributeAuthorityProperties.add(RS_SECURITY_KEY_PASSWORD);
  121.         attributeAuthorityProperties.add(RS_SECURITY_KEYSTORE_TLS_PASSWORD);
  122.         attributeAuthorityProperties.add(CostantiConnettori.CONNETTORE_HTTPS_TRUST_STORE_PASSWORD);
  123.         attributeAuthorityProperties.add(CostantiConnettori.CONNETTORE_HTTPS_KEY_STORE_PASSWORD);
  124.         attributeAuthorityProperties.add(CostantiConnettori.CONNETTORE_HTTPS_KEY_PASSWORD);
  125.         attributeAuthorityProperties.add(CostantiConnettori.CONNETTORE_HTTP_PROXY_PASSWORD);
  126.     }
  127.    
  128.    
  129.    
  130.    
  131.     public static final String MESSAGE_SECURITY_JOSE_RECEIVER_ENCRYPT_ID = "messageSecurity.jose.receiver.encrypt";
  132.     public static final String MESSAGE_SECURITY_JOSE_RECEIVER_SIGNATURE_ID = "messageSecurity.jose.receiver.signature";
  133.     public static final String MESSAGE_SECURITY_JOSE_SENDER_ENCRYPT_ID = "messageSecurity.jose.sender.encrypt";
  134.     public static final String MESSAGE_SECURITY_JOSE_SENDER_SIGNATURE_ID = "messageSecurity.jose.sender.signature";
  135.    
  136.     public static final String MESSAGE_SECURITY_XML_RECEIVER_ENCRYPT_ID = "messageSecurity.xml.receiver.encrypt";
  137.     public static final String MESSAGE_SECURITY_XML_RECEIVER_SIGNATURE_ID = "messageSecurity.xml.receiver.signature";
  138.     public static final String MESSAGE_SECURITY_XML_SENDER_ENCRYPT_ID = "messageSecurity.xml.sender.encrypt";
  139.     public static final String MESSAGE_SECURITY_XML_SENDER_SIGNATURE_ID = "messageSecurity.xml.sender.signature";
  140.    
  141.     public static final String MESSAGE_SECURITY_WSS4J_RECEIVER_ENCRYPT_ID = "messageSecurity.wss4j.receiver.encrypt";
  142.     public static final String MESSAGE_SECURITY_WSS4J_RECEIVER_SAML_ID = "messageSecurity.wss4j.receiver.saml";
  143.     public static final String MESSAGE_SECURITY_WSS4J_RECEIVER_SIGNATURE_ID = "messageSecurity.wss4j.receiver.signature";
  144.     public static final String MESSAGE_SECURITY_WSS4J_RECEIVER_TIMESTAMP_ID = "messageSecurity.wss4j.receiver.timestamp";
  145.     public static final String MESSAGE_SECURITY_WSS4J_RECEIVER_USERNAME_TOKEN_ID = "messageSecurity.wss4j.receiver.usernameToken";
  146.     public static final String MESSAGE_SECURITY_WSS4J_SENDER_ENCRYPT_ID = "messageSecurity.wss4j.sender.encrypt";
  147.     public static final String MESSAGE_SECURITY_WSS4J_SENDER_SAML_ID = "messageSecurity.wss4j.sender.saml";
  148.     public static final String MESSAGE_SECURITY_WSS4J_SENDER_SIGNATURE_ID = "messageSecurity.wss4j.sender.signature";
  149.     public static final String MESSAGE_SECURITY_WSS4J_SENDER_TIMESTAMP_ID = "messageSecurity.wss4j.sender.timestamp";
  150.     public static final String MESSAGE_SECURITY_WSS4J_SENDER_USERNAME_TOKEN_ID = "messageSecurity.wss4j.sender.usernameToken";
  151.    
  152.     private static List<String> messageSecurityIds = new ArrayList<>();
  153.     public static List<String> getMessageSecurityIds() {
  154.         return messageSecurityIds;
  155.     }
  156.     static {
  157.         messageSecurityIds.add(MESSAGE_SECURITY_JOSE_RECEIVER_ENCRYPT_ID);
  158.         messageSecurityIds.add(MESSAGE_SECURITY_JOSE_RECEIVER_SIGNATURE_ID);
  159.         messageSecurityIds.add(MESSAGE_SECURITY_JOSE_SENDER_ENCRYPT_ID);
  160.         messageSecurityIds.add(MESSAGE_SECURITY_JOSE_SENDER_SIGNATURE_ID);
  161.        
  162.         messageSecurityIds.add(MESSAGE_SECURITY_XML_RECEIVER_ENCRYPT_ID);
  163.         messageSecurityIds.add(MESSAGE_SECURITY_XML_RECEIVER_SIGNATURE_ID);
  164.         messageSecurityIds.add(MESSAGE_SECURITY_XML_SENDER_ENCRYPT_ID);
  165.         messageSecurityIds.add(MESSAGE_SECURITY_XML_SENDER_SIGNATURE_ID);
  166.        
  167.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_RECEIVER_ENCRYPT_ID);
  168.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_RECEIVER_SAML_ID);
  169.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_RECEIVER_SIGNATURE_ID);
  170.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_RECEIVER_TIMESTAMP_ID);
  171.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_RECEIVER_USERNAME_TOKEN_ID);
  172.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_SENDER_ENCRYPT_ID);
  173.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_SENDER_SAML_ID);
  174.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_SENDER_SIGNATURE_ID);
  175.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_SENDER_TIMESTAMP_ID);
  176.         messageSecurityIds.add(MESSAGE_SECURITY_WSS4J_SENDER_USERNAME_TOKEN_ID);
  177.     }
  178.    
  179.     public static final String MESSAGE_SECURITY_JOSE_KEYSTORE_PASSWORD = "joseUseHeaders.keystore.password";
  180.     public static final String MESSAGE_SECURITY_JOSE_KEY1_PASSWORD = "joseUseHeaders.key.1.password";
  181.     public static final String MESSAGE_SECURITY_JOSE_KEY2_PASSWORD = "joseUseHeaders.key.2.password";
  182.     public static final String MESSAGE_SECURITY_JOSE_KEY3_PASSWORD = "joseUseHeaders.key.3.password";
  183.     public static final String MESSAGE_SECURITY_JOSE_KEY4_PASSWORD = "joseUseHeaders.key.4.password";
  184.     public static final String MESSAGE_SECURITY_JOSE_KEY5_PASSWORD = "joseUseHeaders.key.5.password";
  185.     public static final String MESSAGE_SECURITY_JOSE_KEY6_PASSWORD = "joseUseHeaders.key.6.password";
  186.     public static final String MESSAGE_SECURITY_JOSE_KEY7_PASSWORD = "joseUseHeaders.key.7.password";
  187.     public static final String MESSAGE_SECURITY_JOSE_KEY8_PASSWORD = "joseUseHeaders.key.8.password";
  188.     public static final String MESSAGE_SECURITY_JOSE_KEY9_PASSWORD = "joseUseHeaders.key.9.password";
  189.     public static final String MESSAGE_SECURITY_JOSE_KEY10_PASSWORD = "joseUseHeaders.key.10.password";
  190.     public static final String MESSAGE_SECURITY_JOSE_TRUSTSTORE_PASSWORD = "joseUseHeaders.truststore.password";
  191.    
  192.     private static List<String> messageSecurityJoseProperties = new ArrayList<>();
  193.     static {
  194.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEYSTORE_PASSWORD);
  195.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY1_PASSWORD);
  196.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY2_PASSWORD);
  197.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY3_PASSWORD);
  198.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY4_PASSWORD);
  199.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY5_PASSWORD);
  200.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY6_PASSWORD);
  201.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY7_PASSWORD);
  202.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY8_PASSWORD);
  203.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY9_PASSWORD);
  204.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_KEY10_PASSWORD);
  205.         messageSecurityJoseProperties.add(MESSAGE_SECURITY_JOSE_TRUSTSTORE_PASSWORD);
  206.         messageSecurityJoseProperties.add(RS_SECURITY_KEYSTORE_PASSWORD);
  207.         messageSecurityJoseProperties.add(RS_SECURITY_KEY_PASSWORD);
  208.         messageSecurityJoseProperties.add(RS_SECURITY_KEYSTORE_TLS_PASSWORD);
  209.     }
  210.    
  211.    
  212.     public static final String MESSAGE_SECURITY_XML_DECRYPTION_PASSWORD = "decryptionPassword";
  213.     public static final String MESSAGE_SECURITY_XML_ENCRYPTION_PASSWORD = "encryptionPassword";
  214.     public static final String MESSAGE_SECURITY_XML_SIGNATURE_PASSWORD = "signaturePassword";
  215.    
  216.     private static List<String> messageSecurityXmlProperties = new ArrayList<>();
  217.     static {
  218.         messageSecurityXmlProperties.add(MESSAGE_SECURITY_XML_DECRYPTION_PASSWORD);
  219.         messageSecurityXmlProperties.add(MESSAGE_SECURITY_XML_ENCRYPTION_PASSWORD);
  220.         messageSecurityXmlProperties.add(MESSAGE_SECURITY_XML_SIGNATURE_PASSWORD);
  221.         messageSecurityXmlProperties.add(MERLIN_SECURITY_KEYSTORE_PASSWORD);
  222.     }
  223.    
  224.    
  225.     public static final String MESSAGE_SECURITY_WSS4J_DECRYPTION_PASSWORD = "decryptionPassword";
  226.     public static final String MESSAGE_SECURITY_WSS4J_ENCRYPTION_PASSWORD = "encryptionPassword";
  227.     public static final String MESSAGE_SECURITY_WSS4J_SIGNATURE_PASSWORD = "signaturePassword";
  228.     public static final String MESSAGE_SECURITY_WSS4J_USERNAME_TOKEN_PASSWORD = "usernameTokenPassword";
  229.    
  230.     private static List<String> messageSecurityWss4jProperties = new ArrayList<>();
  231.     static {
  232.         messageSecurityWss4jProperties.add(MESSAGE_SECURITY_WSS4J_DECRYPTION_PASSWORD);
  233.         messageSecurityWss4jProperties.add(MESSAGE_SECURITY_WSS4J_ENCRYPTION_PASSWORD);
  234.         messageSecurityWss4jProperties.add(MESSAGE_SECURITY_WSS4J_SIGNATURE_PASSWORD);
  235.         messageSecurityWss4jProperties.add(MESSAGE_SECURITY_WSS4J_USERNAME_TOKEN_PASSWORD);
  236.         messageSecurityWss4jProperties.add(MERLIN_SECURITY_KEYSTORE_PASSWORD);
  237.     }
  238.    
  239.    
  240.     public static List<String> getMessageSecurityProperties(String id) {
  241.         List<String> l = null;
  242.         if(MESSAGE_SECURITY_JOSE_RECEIVER_ENCRYPT_ID.equals(id) ||
  243.                 MESSAGE_SECURITY_JOSE_RECEIVER_SIGNATURE_ID.equals(id) ||
  244.                 MESSAGE_SECURITY_JOSE_SENDER_ENCRYPT_ID.equals(id) ||
  245.                 MESSAGE_SECURITY_JOSE_SENDER_SIGNATURE_ID.equals(id)){
  246.             l = messageSecurityJoseProperties;
  247.         }
  248.         else if(MESSAGE_SECURITY_XML_RECEIVER_ENCRYPT_ID.equals(id) ||
  249.                 MESSAGE_SECURITY_XML_RECEIVER_SIGNATURE_ID.equals(id) ||
  250.                 MESSAGE_SECURITY_XML_SENDER_ENCRYPT_ID.equals(id) ||
  251.                 MESSAGE_SECURITY_XML_SENDER_SIGNATURE_ID.equals(id)){
  252.             l = messageSecurityXmlProperties;
  253.         }
  254.         else if(MESSAGE_SECURITY_WSS4J_RECEIVER_ENCRYPT_ID.equals(id) ||
  255.                 MESSAGE_SECURITY_WSS4J_RECEIVER_SAML_ID.equals(id) ||
  256.                 MESSAGE_SECURITY_WSS4J_RECEIVER_SIGNATURE_ID.equals(id) ||
  257.                 MESSAGE_SECURITY_WSS4J_RECEIVER_TIMESTAMP_ID.equals(id) ||
  258.                 MESSAGE_SECURITY_WSS4J_RECEIVER_USERNAME_TOKEN_ID.equals(id) ||
  259.                 MESSAGE_SECURITY_WSS4J_SENDER_ENCRYPT_ID.equals(id) ||
  260.                 MESSAGE_SECURITY_WSS4J_SENDER_SAML_ID.equals(id) ||
  261.                 MESSAGE_SECURITY_WSS4J_SENDER_SIGNATURE_ID.equals(id) ||
  262.                 MESSAGE_SECURITY_WSS4J_SENDER_TIMESTAMP_ID.equals(id) ||
  263.                 MESSAGE_SECURITY_WSS4J_SENDER_USERNAME_TOKEN_ID.equals(id)){
  264.             l = messageSecurityWss4jProperties;
  265.         }
  266.         return l;
  267.     }
  268.    
  269. }