package de.persosim.simulator.test.globaltester; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Collections; import java.util.HashSet; import java.util.Set; public class GtConstants { public static final String PROJECT_EPP_BAC_SAC_ICAO = "GT Scripts ICAO TR Part 3"; public static final String PROJECT_EPA_EAC2_BSI = "GT Scripts BSI TR03105 Part 3.3"; //commonly used suite descriptors public static final GtSuiteDescriptor SUITE_EAC2_BSI_LAYER_6 = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_complete_standard_layer6"); public static final GtSuiteDescriptor SUITE_EAC2_BSI_LAYER_7 = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_complete_standard_layer7"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_H = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_H"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_I = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_I"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_J = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_J"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_K = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_K"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_L = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_L"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_M = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_M"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_N = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_N"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_O = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_O"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_P = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_P"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_Q = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_Q"); public static final GtSuiteDescriptor SUITE_EAC2_ISO7816_R = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_ISO7816_R"); public static final GtSuiteDescriptor SUITE_EAC2_DATA_A = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_DATA_A"); public static final GtSuiteDescriptor SUITE_EAC2_DATA_B = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_DATA_B"); public static final GtSuiteDescriptor SUITE_EAC2_DATA_C = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_DATA_C"); public static final GtSuiteDescriptor SUITE_EAC2_EIDDATA_B = new GtSuiteDescriptor(PROJECT_EPA_EAC2_BSI, "testsuite_EIDDATA_B"); public static final GtSuiteDescriptor SUITE_SAC_ISO7816_P = new GtSuiteDescriptor(PROJECT_EPP_BAC_SAC_ICAO, "testsuite_ISO7816_P"); //Relevant profile constants public static final String PROFILE_AA = "AA"; public static final String PROFILE_AA_ECDSA = "AA-ECDSA"; public static final String PROFILE_AA_RSA = "AA-RSA"; public static final String PROFILE_AUX = "AUX"; public static final String PROFILE_AIP = "AIP"; public static final String PROFILE_BAC = "BAC"; public static final String PROFILE_CA = "CA"; public static final String PROFILE_CA_ATGA = "CA_ATGA"; public static final String PROFILE_CA_KAT = "CA_KAT"; public static final String PROFILE_CA2 = "CA2"; public static final String PROFILE_CAN = "CAN"; public static final String PROFILE_CNG_CAN_AR = "CNG_CAN_AR"; public static final String PROFILE_CNG_PIN_AR = "CNG_PIN_AR"; public static final String PROFILE_CNG_PIN_PUK = "CNG_PIN_PUK"; public static final String PROFILE_CS = "CS"; public static final String PROFILE_DATE = "DATE"; public static final String PROFILE_CVCA = "CVCA"; public static final String PROFILE_DG2 = "DG2"; public static final String PROFILE_DG3 = "DG3"; public static final String PROFILE_DG4 = "DG4"; public static final String PROFILE_DG5 = "DG5"; public static final String PROFILE_DG6 = "DG6"; public static final String PROFILE_DG7 = "DG7"; public static final String PROFILE_DG8 = "DG8"; public static final String PROFILE_DG9 = "DG9"; public static final String PROFILE_DG10 = "DG10"; public static final String PROFILE_DG11 = "DG11"; public static final String PROFILE_DG12 = "DG12"; public static final String PROFILE_DG13 = "DG13"; public static final String PROFILE_DG15 = "DG15"; public static final String PROFILE_DG16 = "DG16"; public static final String PROFILE_DH = "DH"; public static final String PROFILE_EAC = "EAC"; public static final String PROFILE_ECDH = "ECDH"; public static final String PROFILE_ECDSA = "ECDSA"; public static final String PROFILE_EID = "EID"; public static final String PROFILE_eID = "eID"; public static final String PROFILE_eID_DG1 = "eID-DG1"; public static final String PROFILE_eID_DG2 = "eID-DG2"; public static final String PROFILE_eID_DG3 = "eID-DG3"; public static final String PROFILE_eID_DG4 = "eID-DG4"; public static final String PROFILE_eID_DG5 = "eID-DG5"; public static final String PROFILE_eID_DG6 = "eID-DG6"; public static final String PROFILE_eID_DG7 = "eID-DG7"; public static final String PROFILE_eID_DG8 = "eID-DG8"; public static final String PROFILE_eID_DG9 = "eID-DG9"; public static final String PROFILE_eID_DG10 = "eID-DG10"; public static final String PROFILE_eID_DG11 = "eID-DG11"; public static final String PROFILE_eID_DG12 = "eID-DG12"; public static final String PROFILE_eID_DG13 = "eID-DG13"; public static final String PROFILE_eID_DG14 = "eID-DG14"; public static final String PROFILE_eID_DG15 = "eID-DG15"; public static final String PROFILE_eID_DG16 = "eID-DG16"; public static final String PROFILE_eID_DG17 = "eID-DG17"; public static final String PROFILE_eID_DG18 = "eID-DG18"; public static final String PROFILE_eID_DG19 = "eID-DG19"; public static final String PROFILE_eID_DG20 = "eID-DG20"; public static final String PROFILE_eID_DG21 = "eID-DG21"; public static final String PROFILE_EPASSPORT = "ePassport"; public static final String PROFILE_EPASSPORT_DG3 = "ePassport-DG3"; public static final String PROFILE_EPASSPORT_DG4 = "ePassport-DG4"; // public static final String PROFILE_Generate = "Generate"; // public static final String PROFILE_Generator = "Generator"; public static final String PROFILE_ICAO = "ICAO"; public static final String PROFILE_KEYREF = "KeyRef"; public static final String PROFILE_MIG = "MIG"; public static final String PROFILE_NOT_CNG_CAN_AR = "NOT CNG_CAN_AR"; public static final String PROFILE_NOT_CNG_PIN_AR = "NOT CNG_PIN_AR"; public static final String PROFILE_NOT_CNG_PIN_PUK = "NOT CNG_PIN_PUK"; public static final String PROFILE_OddIns = "OddIns"; public static final String PROFILE_PACE = "PACE"; public static final String PROFILE_PACE_CAN = "PACE-CAN"; public static final String PROFILE_PACE_DH = "PACE-DH"; public static final String PROFILE_PACE_ECDH = "PACE-ECDH"; public static final String PROFILE_PACE_GM = "PACE-GM"; public static final String PROFILE_PACE_IM = "PACE-IM"; public static final String PROFILE_PACE_CAM = "PACE-CAM"; public static final String PROFILE_Plain = "Plain"; public static final String PROFILE_PLAINTEXT = "Plaintext"; public static final String PROFILE_RI = "RI"; public static final String PROFILE_RI_DP = "RI_DP"; public static final String PROFILE_RSA = "RSA"; public static final String PROFILE_SAC = "SAC"; public static final String PROFILE_SIP = "SIP"; public static final String PROFILE_TA = "TA"; public static final String PROFILE_TA2 = "TA2"; public static final String PROFILE_TS_CA = "TS_CA"; public static final String PROFILE_TS_eID = "TS_eID"; public static final String PROFILE_TS_PACE = "TS_PACE"; public static final String PROFILE_TS_TA = "TS_TA"; private static Set<String> allProfiles= new HashSet<>(); static { //add all static fields with name PROFILE_* to allProfiles (and thus to ALL_PROFILES) Field[] fields = GtConstants.class.getDeclaredFields(); for (Field f : fields) { f.setAccessible(true); if ((f.getName().startsWith("PROFILE_")) && Modifier.isStatic(f.getModifiers()) && Modifier.isFinal(f.getModifiers()) && f.getType().equals(String.class)) { try { allProfiles.add((String) f.get(null)); } catch (IllegalArgumentException | IllegalAccessException e) { // ignore the current field } } } } public static final Set<String> ALL_PROFILES = Collections.unmodifiableSet(allProfiles); }