mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
always use NBConfiguration on SSL Factory
This commit is contained in:
parent
f71f98f046
commit
00047164ae
@ -92,7 +92,8 @@ public class Cqld4Space {
|
||||
}
|
||||
|
||||
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extract(cfg);
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(cfg);
|
||||
|
||||
SSLContext ctx = SSLKsFactory.get().getContext(sslCfg);
|
||||
if (ctx != null) {
|
||||
builder.withSslContext(ctx);
|
||||
|
@ -16,6 +16,7 @@ import io.nosqlbench.engine.api.metrics.ActivityMetrics;
|
||||
import io.nosqlbench.engine.api.scripting.ExprEvaluator;
|
||||
import io.nosqlbench.engine.api.scripting.GraalJsEvaluator;
|
||||
import io.nosqlbench.engine.api.util.SSLKsFactory;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
|
||||
import io.nosqlbench.nb.api.errors.BasicError;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@ -236,7 +237,9 @@ public class CQLSessionCache implements Shutdownable {
|
||||
.ifPresent(builder::withCompression);
|
||||
|
||||
|
||||
SSLContext context = SSLKsFactory.get().getContext(activityDef.getParams());
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
SSLContext context = SSLKsFactory.get().getContext(sslCfg);
|
||||
|
||||
if (context != null) {
|
||||
builder.withSSL(RemoteEndpointAwareJdkSSLOptions.builder().withSSLContext(context).build());
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import io.nosqlbench.engine.api.metrics.ActivityMetrics;
|
||||
import io.nosqlbench.engine.api.scripting.ExprEvaluator;
|
||||
import io.nosqlbench.engine.api.scripting.GraalJsEvaluator;
|
||||
import io.nosqlbench.engine.api.util.SSLKsFactory;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
|
||||
import io.nosqlbench.nb.api.errors.BasicError;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@ -238,7 +239,9 @@ public class CQLSessionCache implements Shutdownable {
|
||||
.ifPresent(builder::withCompression);
|
||||
|
||||
|
||||
SSLContext context = SSLKsFactory.get().getContext(activityDef.getParams());
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
SSLContext context = SSLKsFactory.get().getContext(sslCfg);
|
||||
|
||||
if (context != null) {
|
||||
builder.withSSL(RemoteEndpointAwareJdkSSLOptions.builder().withSSLContext(context).build());
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.activityimpl.SimpleActivity;
|
||||
import io.nosqlbench.engine.api.util.SSLKsFactory;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
|
||||
@ -24,7 +25,8 @@ public class JMXActivity extends SimpleActivity implements Activity {
|
||||
super.initActivity();
|
||||
this.sequence = createOpSequenceFromCommands(ReadyJmxOp::new);
|
||||
setDefaultsFromOpSequence(sequence);
|
||||
this.sslContext= SSLKsFactory.get().getContext(activityDef.getParams());
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
this.sslContext= SSLKsFactory.get().getContext(sslCfg);
|
||||
|
||||
// TODO: Require qualified default with an op sequence as the input
|
||||
}
|
||||
|
@ -20,8 +20,9 @@ package io.nosqlbench.activitytype.tcpclient;
|
||||
import io.nosqlbench.activitytype.stdout.StdoutActivity;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.util.SSLKsFactory;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import javax.net.SocketFactory;
|
||||
import java.io.IOException;
|
||||
@ -46,7 +47,8 @@ public class TCPClientActivity extends StdoutActivity {
|
||||
SocketFactory socketFactory = SocketFactory.getDefault();
|
||||
boolean sslEnabled = activityDef.getParams().getOptionalBoolean("ssl").orElse(false);
|
||||
if (sslEnabled) {
|
||||
socketFactory = SSLKsFactory.get().createSocketFactory(activityDef.getParams());
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
socketFactory = SSLKsFactory.get().createSocketFactory(sslCfg);
|
||||
}
|
||||
|
||||
String host = getActivityDef().getParams().getOptionalString("host").orElse("localhost");
|
||||
|
@ -20,8 +20,9 @@ package io.nosqlbench.activitytype.tcpserver;
|
||||
import io.nosqlbench.activitytype.stdout.StdoutActivity;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.util.SSLKsFactory;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import javax.net.ServerSocketFactory;
|
||||
import javax.net.ssl.SSLServerSocketFactory;
|
||||
@ -56,7 +57,9 @@ public class TCPServerActivity extends StdoutActivity {
|
||||
queue = new LinkedBlockingQueue<>(capacity);
|
||||
|
||||
if (sslEnabled) {
|
||||
socketFactory = SSLKsFactory.get().createSSLServerSocketFactory(activityDef.getParams());
|
||||
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
socketFactory = SSLKsFactory.get().createSSLServerSocketFactory(sslCfg);
|
||||
} else {
|
||||
socketFactory = ServerSocketFactory.getDefault();
|
||||
}
|
||||
|
@ -18,6 +18,7 @@
|
||||
package io.nosqlbench.engine.api.util;
|
||||
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
@ -33,7 +34,8 @@ public class SSLKsFactoryTest {
|
||||
"tlsversion=TLSv1.2",
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -46,7 +48,8 @@ public class SSLKsFactoryTest {
|
||||
"kspass=nosqlbench_client"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -60,7 +63,8 @@ public class SSLKsFactoryTest {
|
||||
"keyPassword=nosqlbench"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -71,7 +75,8 @@ public class SSLKsFactoryTest {
|
||||
"tspass=nosqlbench_server"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -82,7 +87,8 @@ public class SSLKsFactoryTest {
|
||||
"kspass=nosqlbench_client"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -94,7 +100,8 @@ public class SSLKsFactoryTest {
|
||||
"keyPassword=nosqlbench"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -104,7 +111,8 @@ public class SSLKsFactoryTest {
|
||||
"tlsversion=TLSv1.2",
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -116,7 +124,8 @@ public class SSLKsFactoryTest {
|
||||
"keyFilePath=src/test/resources/ssl/client.key"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -126,7 +135,8 @@ public class SSLKsFactoryTest {
|
||||
"caCertFilePath=src/test/resources/ssl/cacert.crt"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -137,7 +147,8 @@ public class SSLKsFactoryTest {
|
||||
"keyFilePath=src/test/resources/ssl/client.key"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
assertThat(SSLKsFactory.get().getContext(activityDef.getParams())).isNotNull();
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThat(SSLKsFactory.get().getContext(sslCfg)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -149,8 +160,9 @@ public class SSLKsFactoryTest {
|
||||
"keyPassword=nosqlbench_client"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(activityDef.getParams()))
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(sslCfg))
|
||||
.withMessageMatching("Unable to load the keystore. Please check.");
|
||||
}
|
||||
|
||||
@ -163,8 +175,10 @@ public class SSLKsFactoryTest {
|
||||
"keyPassword=incorrect_password"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(activityDef.getParams()))
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(sslCfg))
|
||||
.withMessageMatching("Unable to init KeyManagerFactory. Please check.*");
|
||||
}
|
||||
|
||||
@ -176,8 +190,9 @@ public class SSLKsFactoryTest {
|
||||
"tspass=nosqlbench_server"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(activityDef.getParams()))
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(sslCfg))
|
||||
.withMessageMatching("Unable to load the truststore. Please check.");
|
||||
}
|
||||
|
||||
@ -188,8 +203,9 @@ public class SSLKsFactoryTest {
|
||||
"caCertFilePath=src/test/resources/ssl/non_existing.pem"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(activityDef.getParams()))
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(sslCfg))
|
||||
.withMessageContaining("Unable to load caCert from")
|
||||
.withCauseInstanceOf(FileNotFoundException.class);
|
||||
}
|
||||
@ -201,8 +217,9 @@ public class SSLKsFactoryTest {
|
||||
"certFilePath=src/test/resources/ssl/non_existing.pem"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(activityDef.getParams()))
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(sslCfg))
|
||||
.withMessageContaining("Unable to load cert from")
|
||||
.withCauseInstanceOf(FileNotFoundException.class);
|
||||
}
|
||||
@ -214,8 +231,9 @@ public class SSLKsFactoryTest {
|
||||
"keyFilePath=src/test/resources/ssl/non_existing.pem"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(activityDef.getParams()))
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(sslCfg))
|
||||
.withMessageContaining("Unable to load key from")
|
||||
.withCauseInstanceOf(FileNotFoundException.class);
|
||||
}
|
||||
@ -228,8 +246,9 @@ public class SSLKsFactoryTest {
|
||||
"keyFilePath=src/test/resources/ssl/client.key"
|
||||
};
|
||||
ActivityDef activityDef = ActivityDef.parseActivityDef(String.join(";", params));
|
||||
NBConfiguration sslCfg = SSLKsFactory.get().getConfigModel().extractConfig(activityDef.getParams());
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(activityDef.getParams()))
|
||||
.isThrownBy(() -> SSLKsFactory.get().getContext(sslCfg))
|
||||
.withMessageContaining("Unable to load key from")
|
||||
.withCauseInstanceOf(IllegalArgumentException.class);
|
||||
}
|
||||
|
@ -61,10 +61,6 @@ public class SSLKsFactory implements NBMapConfigurable {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public ServerSocketFactory createSSLServerSocketFactory(Map<String, Object> cfgmap) {
|
||||
return createSSLServerSocketFactory(getConfigModel().apply(cfgmap));
|
||||
}
|
||||
|
||||
public ServerSocketFactory createSSLServerSocketFactory(NBConfiguration cfg) {
|
||||
SSLContext context = getContext(cfg);
|
||||
if (context == null) {
|
||||
@ -73,10 +69,6 @@ public class SSLKsFactory implements NBMapConfigurable {
|
||||
return context.getServerSocketFactory();
|
||||
}
|
||||
|
||||
public SocketFactory createSocketFactory(Map<String, Object> cfgmap) {
|
||||
return createSocketFactory(getConfigModel().apply(cfgmap));
|
||||
}
|
||||
|
||||
public SocketFactory createSocketFactory(NBConfiguration cfg) {
|
||||
SSLContext context = getContext(cfg);
|
||||
if (context == null) {
|
||||
@ -85,10 +77,6 @@ public class SSLKsFactory implements NBMapConfigurable {
|
||||
return context.getSocketFactory();
|
||||
}
|
||||
|
||||
public SSLContext getContext(Map<String, Object> cfgmap) {
|
||||
return getContext(getConfigModel().apply(cfgmap));
|
||||
}
|
||||
|
||||
public SSLContext getContext(NBConfiguration cfg) {
|
||||
Optional<String> sslParam = cfg.getOptional(SSL);
|
||||
if (sslParam.isPresent()) {
|
||||
|
Loading…
Reference in New Issue
Block a user