summaryrefslogtreecommitdiff
path: root/eaaf_core_utils/src/main
diff options
context:
space:
mode:
authorThomas <>2021-09-20 17:35:53 +0200
committerThomas <>2021-09-20 17:35:53 +0200
commit6aca2453946bcc526e203ebded9ef437ffc7c53a (patch)
tree05900bea8fb11fd23ff7d0e4c57e39701cad5ca4 /eaaf_core_utils/src/main
parenta90e8da7e616818a938281d02246a8ed3a03921c (diff)
downloadEAAF-Components-6aca2453946bcc526e203ebded9ef437ffc7c53a.tar.gz
EAAF-Components-6aca2453946bcc526e203ebded9ef437ffc7c53a.tar.bz2
EAAF-Components-6aca2453946bcc526e203ebded9ef437ffc7c53a.zip
switch to HSM-Facade 0.7.2 and add optional configuration property for gRPC deadline, see https://grpc.io/blog/deadlines/
Diffstat (limited to 'eaaf_core_utils/src/main')
-rw-r--r--eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/EaafKeyStoreFactory.java28
1 files changed, 23 insertions, 5 deletions
diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/EaafKeyStoreFactory.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/EaafKeyStoreFactory.java
index 40a74faa..623e9d2c 100644
--- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/EaafKeyStoreFactory.java
+++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/EaafKeyStoreFactory.java
@@ -52,6 +52,7 @@ public class EaafKeyStoreFactory {
public static final String CONFIG_PROP_HSM_FACADE_SSLTRUST = "security.hsmfacade.trustedsslcert";
public static final String CONFIG_PROP_HSM_FACADE_CLIENT_USERNAME = "security.hsmfacade.username";
public static final String CONFIG_PROP_HSM_FACADE_CLIENT_PASSWORD = "security.hsmfacade.password";
+ public static final String CONFIG_PROP_HSM_FACADE_GRPC_DEADLINE = "security.hsmfacade.grpc.deadline";
public static final String ERRORCODE_00 = "internal.keystore.00";
public static final String ERRORCODE_01 = "internal.keystore.01";
@@ -77,7 +78,8 @@ public class EaafKeyStoreFactory {
= "Has HSM-Facade class supported '{}' method: {}";
private static final String HSM_FACADE_PROVIDER = "HsmFacade";
private static final String HSM_FACADE_KEYSTORE_TYPE = "RemoteKeyStore";
-
+ private static final String HSM_FACADE_DEFAULT_DEADLINE = "30";
+
public enum HsmFacadeStatus { UP, DOWN, UNKNOWN }
@Autowired
@@ -272,18 +274,21 @@ public class EaafKeyStoreFactory {
final String clientUsername =
getConfigurationParameter(CONFIG_PROP_HSM_FACADE_CLIENT_USERNAME);
final String clientPassword =
- getConfigurationParameter(CONFIG_PROP_HSM_FACADE_CLIENT_PASSWORD);
-
+ getConfigurationParameter(CONFIG_PROP_HSM_FACADE_CLIENT_PASSWORD);
+ final long grpcDeadline = getConfigurationParameterLong(CONFIG_PROP_HSM_FACADE_GRPC_DEADLINE,
+ HSM_FACADE_DEFAULT_DEADLINE);
+
+
//initialize HSM-Facade by using JAVA Reflection, because in that case HSM-Facade
//has not be in ClassPath on every project
final Method constructor = hsmProviderClazz.getMethod(HSM_FACADE_PROVIDER_METHOD_CONSTRUCT, new Class[]{});
final Method initMethod = hsmProviderClazz.getMethod(HSM_FACADE_PROVIDER_METHOD_INIT,
- X509Certificate.class, String.class, String.class, String.class, int.class);
+ X509Certificate.class, String.class, String.class, String.class, int.class, long.class);
if (initMethod != null && constructor != null) {
final Object rawProvider = constructor.invoke(hsmProviderClazz);
initMethod.invoke(
rawProvider, getHsmFacadeTrustSslCertificate(),
- clientUsername, clientPassword, hsmFacadeHost, port);
+ clientUsername, clientPassword, hsmFacadeHost, port, grpcDeadline);
if (rawProvider instanceof Provider) {
Security.addProvider((Provider) rawProvider);
@@ -513,6 +518,19 @@ public class EaafKeyStoreFactory {
}
@Nonnull
+ private Long getConfigurationParameterLong(@Nonnull String configParamKey, String defaultValue)
+ throws EaafConfigurationException {
+ try {
+ return Long.valueOf(basicConfig.getBasicConfiguration(configParamKey, defaultValue));
+
+ } catch (NumberFormatException e) {
+ throw new EaafConfigurationException(ERRORCODE_05, new Object[] { configParamKey, e.getMessage()});
+
+ }
+
+ }
+
+ @Nonnull
private String getConfigurationParameter(@Nonnull String configParamKey)
throws EaafConfigurationException {
return checkConfigurationParameter(