aboutsummaryrefslogtreecommitdiffstats
path: root/demo/Main.qml
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-03-31 17:44:35 +0200
committerThomas Vanbesien <tvanbesi@proton.me>2026-03-31 17:44:35 +0200
commitf3beb1624c24012c246d17a40c4e10c1c6b3b5b5 (patch)
tree93430f34b957a6d5037157913605c0ccbba79856 /demo/Main.qml
parent6816fc573608cf9a5783caeabd47b8dbe1ac5ac5 (diff)
downloadBobinkQtOpcUa-f3beb1624c24012c246d17a40c4e10c1c6b3b5b5.tar.gz
BobinkQtOpcUa-f3beb1624c24012c246d17a40c4e10c1c6b3b5b5.zip
Add passphrase-protected private key support
Wire up QOpcUaClient::passwordForPrivateKeyRequired to a QML dialog, mirroring the existing certificate trust flow (local QEventLoop + 30s timeout).
Diffstat (limited to 'demo/Main.qml')
-rw-r--r--demo/Main.qml12
1 files changed, 12 insertions, 0 deletions
diff --git a/demo/Main.qml b/demo/Main.qml
index 908dcbd..f0f3674 100644
--- a/demo/Main.qml
+++ b/demo/Main.qml
@@ -44,6 +44,13 @@ ApplicationWindow {
debugConsole.appendLog("Discovering: " + Bobink.discovering);
}
+ function onPrivateKeyPasswordRequired(keyFilePath,
+ previousTryWasInvalid) {
+ keyPasswordDialog.keyFilePath = keyFilePath;
+ keyPasswordDialog.previousTryWasInvalid = previousTryWasInvalid;
+ keyPasswordDialog.open();
+ }
+
function onServersChanged() {
debugConsole.appendLog("Discovered server list updated");
}
@@ -60,6 +67,11 @@ ApplicationWindow {
}
+ KeyPasswordDialog {
+ id: keyPasswordDialog
+
+ }
+
ColumnLayout {
anchors.fill: parent
spacing: 0