Skip to content

Commit d78b11d

Browse files
committed
sec-dir
1 parent b1b7e2f commit d78b11d

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/OpcUaSink.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import java.util.Arrays;
5757
import java.util.Map;
5858
import java.util.Objects;
59+
import java.util.UUID;
5960
import java.util.concurrent.ConcurrentHashMap;
6061
import java.util.concurrent.atomic.AtomicInteger;
6162

@@ -339,8 +340,17 @@ private void customizeClient(final String nodeUrl, final PipeParameters paramete
339340
Objects.nonNull(userName)
340341
? new UsernameProvider(userName, password)
341342
: new AnonymousProvider();
343+
344+
final String securityDir =
345+
IoTDBConfig.addDataHomeDir(
346+
parameters.getStringOrDefault(
347+
Arrays.asList(CONNECTOR_OPC_UA_SECURITY_DIR_KEY, SINK_OPC_UA_SECURITY_DIR_KEY),
348+
CONNECTOR_OPC_UA_SECURITY_DIR_DEFAULT_VALUE
349+
+ File.separatorChar
350+
+ UUID.fromString(nodeUrl)));
351+
342352
client = new IoTDBOpcUaClient(nodeUrl, policy, provider);
343-
new ClientRunner(client, password).run();
353+
new ClientRunner(client, securityDir, password).run();
344354
}
345355

346356
@Override

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/client/ClientRunner.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,28 +51,31 @@ public class ClientRunner {
5151
private final CompletableFuture<OpcUaClient> future = new CompletableFuture<>();
5252

5353
private final IoTDBOpcUaClient configurableUaClient;
54+
private final Path securityDir;
5455
private final String password;
5556

56-
public ClientRunner(final IoTDBOpcUaClient configurableUaClient, final String password) {
57+
public ClientRunner(
58+
final IoTDBOpcUaClient configurableUaClient,
59+
final String securityDir,
60+
final String password) {
5761
this.configurableUaClient = configurableUaClient;
62+
this.securityDir = Paths.get(securityDir);
5863
this.password = password;
5964
}
6065

6166
private OpcUaClient createClient() throws Exception {
62-
final Path securityTempDir =
63-
Paths.get(System.getProperty("java.io.tmpdir"), "client", "security");
64-
Files.createDirectories(securityTempDir);
65-
if (!Files.exists(securityTempDir)) {
66-
throw new Exception("unable to create security dir: " + securityTempDir);
67+
Files.createDirectories(securityDir);
68+
if (!Files.exists(securityDir)) {
69+
throw new Exception("unable to create security dir: " + securityDir);
6770
}
6871

69-
final File pkiDir = securityTempDir.resolve("pki").toFile();
72+
final File pkiDir = securityDir.resolve("pki").toFile();
7073

71-
logger.info("security dir: {}", securityTempDir.toAbsolutePath());
74+
logger.info("security dir: {}", securityDir.toAbsolutePath());
7275
logger.info("security pki dir: {}", pkiDir.getAbsolutePath());
7376

7477
final IoTDBKeyStoreLoaderClient loader =
75-
new IoTDBKeyStoreLoaderClient().load(securityTempDir, password.toCharArray());
78+
new IoTDBKeyStoreLoaderClient().load(securityDir, password.toCharArray());
7679

7780
final DefaultTrustListManager trustListManager = new DefaultTrustListManager(pkiDir);
7881

0 commit comments

Comments
 (0)