Merge branch 'feature/linux-ipsec' of https://github.com/amnezia-vpn/amnezia-client into feature/linux-ipsec
This commit is contained in:
commit
30df4c6800
1 changed files with 14 additions and 11 deletions
|
|
@ -172,7 +172,8 @@ void Ikev2Protocol::newConnectionStateEventReceived(UINT unMsg, tagRASCONNSTATE
|
||||||
|
|
||||||
void Ikev2Protocol::readIkev2Configuration(const QJsonObject &configuration)
|
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()
|
ErrorCode Ikev2Protocol::start()
|
||||||
|
|
@ -180,11 +181,13 @@ ErrorCode Ikev2Protocol::start()
|
||||||
QByteArray cert = QByteArray::fromBase64(m_config[config_key::cert].toString().toUtf8());
|
QByteArray cert = QByteArray::fromBase64(m_config[config_key::cert].toString().toUtf8());
|
||||||
setConnectionState(Vpn::ConnectionState::Connecting);
|
setConnectionState(Vpn::ConnectionState::Connecting);
|
||||||
|
|
||||||
QTemporaryFile certFile;
|
QTemporaryFile * certFile = new QTemporaryFile;
|
||||||
certFile.setAutoRemove(false);
|
certFile->setAutoRemove(false);
|
||||||
certFile.open();
|
certFile->open();
|
||||||
certFile.write(cert);
|
QString m_filename = certFile->fileName();
|
||||||
certFile.close();
|
certFile->write(cert);
|
||||||
|
certFile->close();
|
||||||
|
delete certFile;
|
||||||
|
|
||||||
{
|
{
|
||||||
auto certInstallProcess = IpcClient::CreatePrivilegedProcess();
|
auto certInstallProcess = IpcClient::CreatePrivilegedProcess();
|
||||||
|
|
@ -201,12 +204,12 @@ ErrorCode Ikev2Protocol::start()
|
||||||
return ErrorCode::AmneziaServiceConnectionFailed;
|
return ErrorCode::AmneziaServiceConnectionFailed;
|
||||||
}
|
}
|
||||||
certInstallProcess->setProgram(PermittedProcess::CertUtil);
|
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"
|
|
||||||
});
|
|
||||||
certInstallProcess->setArguments(arguments);
|
|
||||||
|
|
||||||
|
QStringList arguments({"-f", "-importpfx", "-p", m_config[config_key::password].toString(),
|
||||||
|
QDir::toNativeSeparators(m_filename), "NoExport"
|
||||||
|
});
|
||||||
|
|
||||||
|
certInstallProcess->setArguments(arguments);
|
||||||
certInstallProcess->start();
|
certInstallProcess->start();
|
||||||
}
|
}
|
||||||
// /*
|
// /*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue