Added the mTLS connection calls to zeus and 3den modules

This commit is contained in:
2026-03-24 16:55:53 -03:00
parent b816144fb0
commit 778ac0ac54
2 changed files with 94 additions and 10 deletions

View File

@@ -6,18 +6,60 @@ params [
["_activated", true, [true]] ["_activated", true, [true]]
]; ];
if (isServer) exitWith { if (isServer) exitWith {
["Connecting to TCP Socket", "success", "TCP Socket"] call EFUNC(main,notify); ["Connecting to TCP Socket", "success", "TCP Socket"] call EFUNC(main,notify);
_transport_mode = _logic getVariable [QGVAR(moduleTransportMode), "tcp"];
_tak_server_instance_address = _logic getVariable QGVAR(moduleInstanceAddress); _tak_server_instance_address = _logic getVariable QGVAR(moduleInstanceAddress);
_tak_server_instance_port = _logic getVariable QGVAR(moduleInstancePort); _tak_server_instance_port = _logic getVariable QGVAR(moduleInstancePort);
_tak_server_tls_name = _logic getVariable [QGVAR(moduleTlsServerName), ""];
_tak_server_tls_ca_cert_path = _logic getVariable [QGVAR(moduleTlsCaCertPath), ""];
_tak_server_tls_client_cert_path = _logic getVariable [QGVAR(moduleTlsClientCertPath), ""];
_tak_server_tls_client_key_path = _logic getVariable [QGVAR(moduleTlsClientKeyPath), ""];
_tak_server_enrollment_port = _logic getVariable [QGVAR(moduleEnrollmentPort), 8446];
_tak_server_enrollment_username = _logic getVariable [QGVAR(moduleEnrollmentUsername), ""];
_tak_server_enrollment_password = _logic getVariable [QGVAR(moduleEnrollmentPassword), ""];
_tak_server_enrollment_client_uid = _logic getVariable [QGVAR(moduleEnrollmentClientUid), ""];
_tak_server_fulladdress = _tak_server_instance_address + ":" + (str _tak_server_instance_port); _tak_server_fulladdress = _tak_server_instance_address + ":" + (str _tak_server_instance_port);
missionNamespace setVariable ["armatak_server_instance", _tak_server_fulladdress]; missionNamespace setVariable ["armatak_server_instance", _tak_server_fulladdress];
missionNamespace setVariable ["armatak_tcp_socket_is_running", true]; missionNamespace setVariable ["armatak_tcp_socket_is_running", true];
if (_tak_server_tls_name == "") then {
_tak_server_tls_name = _tak_server_instance_address;
};
switch (_transport_mode) do {
case "manual_mtls": {
"armatak" callExtension [
"tcp_socket:start_mtls",
[
_tak_server_fulladdress,
_tak_server_tls_name,
_tak_server_tls_ca_cert_path,
_tak_server_tls_client_cert_path,
_tak_server_tls_client_key_path
]
];
};
case "enroll_mtls": {
"armatak" callExtension [
"tcp_socket:start_enroll_mtls",
[
_tak_server_instance_address,
_tak_server_tls_name,
str _tak_server_enrollment_port,
_tak_server_enrollment_username,
_tak_server_enrollment_password,
_tak_server_enrollment_client_uid
]
];
};
default {
"armatak" callExtension ["tcp_socket:start", [_tak_server_fulladdress]]; "armatak" callExtension ["tcp_socket:start", [_tak_server_fulladdress]];
};
};
_syncUnits = synchronizedObjects _logic; _syncUnits = synchronizedObjects _logic;

View File

@@ -13,15 +13,57 @@ disableSerialization;
["Connecting to TCP Socket", "success", "TCP Socket"] call EFUNC(main,notify); ["Connecting to TCP Socket", "success", "TCP Socket"] call EFUNC(main,notify);
_transport_mode = toLower (ctrlText 14006);
_tak_server_instance_address = ctrlText 14000; _tak_server_instance_address = ctrlText 14000;
_tak_server_instance_port = ctrlText 14001; _tak_server_instance_port = ctrlText 14001;
_tak_server_tls_name = ctrlText 14002;
_tak_server_tls_ca_cert_path = ctrlText 14003;
_tak_server_tls_client_cert_path = ctrlText 14004;
_tak_server_tls_client_key_path = ctrlText 14005;
_tak_server_enrollment_port = ctrlText 14007;
_tak_server_enrollment_username = ctrlText 14008;
_tak_server_enrollment_password = ctrlText 14009;
_tak_server_enrollment_client_uid = ctrlText 14010;
_tak_server_fulladdress = ((_tak_server_instance_address) + ":" + (_tak_server_instance_port)); _tak_server_fulladdress = ((_tak_server_instance_address) + ":" + (_tak_server_instance_port));
missionNamespace setVariable ["armatak_server_instance", _tak_server_fulladdress]; missionNamespace setVariable ["armatak_server_instance", _tak_server_fulladdress];
missionNamespace setVariable ["armatak_tcp_socket_is_running", true]; missionNamespace setVariable ["armatak_tcp_socket_is_running", true];
"armatak" callExtension ["tcp_socket:start", [_tak_server_fulladdress]]; if (_tak_server_tls_name == "") then {
_tak_server_tls_name = _tak_server_instance_address;
};
switch (_transport_mode) do {
case "manual_mtls": {
"armatak" callExtension [
"tcp_socket:start_mtls",
[
_tak_server_fulladdress,
_tak_server_tls_name,
_tak_server_tls_ca_cert_path,
_tak_server_tls_client_cert_path,
_tak_server_tls_client_key_path
]
];
};
case "enroll_mtls": {
"armatak" callExtension [
"tcp_socket:start_enroll_mtls",
[
_tak_server_instance_address,
_tak_server_tls_name,
_tak_server_enrollment_port,
_tak_server_enrollment_username,
_tak_server_enrollment_password,
_tak_server_enrollment_client_uid
]
];
};
default {
"armatak" callExtension ["tcp_socket:start", [_tak_server_fulladdress]];
};
};
_syncUnits = []; _syncUnits = [];