From 09c58cb39ef995976a45a3946e709c81f76d799d Mon Sep 17 00:00:00 2001 From: Mykola Baibuz Date: Mon, 19 Aug 2024 18:46:53 +0300 Subject: [PATCH] Fix certwrite for Win IPSec --- client/protocols/ikev2_vpn_protocol_windows.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/protocols/ikev2_vpn_protocol_windows.cpp b/client/protocols/ikev2_vpn_protocol_windows.cpp index ac5966cb..56cf5f6d 100644 --- a/client/protocols/ikev2_vpn_protocol_windows.cpp +++ b/client/protocols/ikev2_vpn_protocol_windows.cpp @@ -172,7 +172,8 @@ void Ikev2Protocol::newConnectionStateEventReceived(UINT unMsg, tagRASCONNSTATE void Ikev2Protocol::readIkev2Configuration(const QJsonObject &configuration) { - m_config = configuration.value(ProtocolProps::key_proto_config_data(Proto::Ikev2)).toObject(); + QJsonObject ikev2_data = configuration.value(ProtocolProps::key_proto_config_data(Proto::Ikev2)).toObject(); + m_config = QJsonDocument::fromJson(ikev2_data.value(config_key::config).toString().toUtf8()).object(); } ErrorCode Ikev2Protocol::start() @@ -201,6 +202,7 @@ ErrorCode Ikev2Protocol::start() return ErrorCode::AmneziaServiceConnectionFailed; } certInstallProcess->setProgram(PermittedProcess::CertUtil); + QString password = QString("-p %1").arg(m_config[config_key::password].toString()); QStringList arguments({"-f", "-importpfx", password, QDir::toNativeSeparators(certFile.fileName()), "NoExport"