1
0
mirror of https://github.com/apache/nifi.git synced 2025-03-02 15:39:12 +00:00

NIFI-6847 - fixed NPE in TLS toolkit when used in client mode with SANs ()

This commit is contained in:
Pierre Villard 2019-11-05 19:41:01 +01:00 committed by Andy LoPresto
parent a9db5a8cb7
commit 481f9f67bf
2 changed files with 18 additions and 2 deletions
nifi-toolkit/nifi-toolkit-tls/src
main/java/org/apache/nifi/toolkit/tls/configuration
test/java/org/apache/nifi/toolkit/tls/service/client

@ -72,14 +72,23 @@ public class InstanceDefinition {
protected static InstanceDefinition createDefinition(InstanceIdentifier instanceIdentifier, int number, Supplier<String> keyStorePasswords, Supplier<String> keyPasswords, protected static InstanceDefinition createDefinition(InstanceIdentifier instanceIdentifier, int number, Supplier<String> keyStorePasswords, Supplier<String> keyPasswords,
Supplier<String> trustStorePasswords) { Supplier<String> trustStorePasswords) {
String keyStorePassword = keyStorePasswords.get(); String keyStorePassword = null;
if (keyStorePasswords != null) {
keyStorePassword = keyStorePasswords.get();
}
String keyPassword; String keyPassword;
if (keyPasswords == null) { if (keyPasswords == null) {
keyPassword = keyStorePassword; keyPassword = keyStorePassword;
} else { } else {
keyPassword = keyPasswords.get(); keyPassword = keyPasswords.get();
} }
String trustStorePassword = trustStorePasswords.get();
String trustStorePassword = null;
if (trustStorePasswords != null) {
trustStorePassword = trustStorePasswords.get();
}
return new InstanceDefinition(instanceIdentifier, number, keyStorePassword, keyPassword, trustStorePassword); return new InstanceDefinition(instanceIdentifier, number, keyStorePassword, keyPassword, trustStorePassword);
} }

@ -175,4 +175,11 @@ public class TlsCertificateAuthorityClientCommandLineTest {
tlsCertificateAuthorityClientCommandLine.parse("-t", testToken, "-C", testCertificateFile); tlsCertificateAuthorityClientCommandLine.parse("-t", testToken, "-C", testCertificateFile);
assertEquals(testCertificateFile, tlsCertificateAuthorityClientCommandLine.getCertificateDirectory()); assertEquals(testCertificateFile, tlsCertificateAuthorityClientCommandLine.getCertificateDirectory());
} }
@Test
public void testConfigClientSAN() throws CommandLineParseException {
tlsCertificateAuthorityClientCommandLine.parse("-t", testToken, "--" + TlsCertificateAuthorityClientCommandLine.SUBJECT_ALTERNATIVE_NAMES, "nifi.apache.org,minifi.apache.org");
assertEquals("nifi.apache.org", tlsCertificateAuthorityClientCommandLine.getDomainAlternativeNames().get(0));
assertEquals("minifi.apache.org", tlsCertificateAuthorityClientCommandLine.getDomainAlternativeNames().get(1));
}
} }