From de76e89ed0b22a718341224e251c50a0c42314b9 Mon Sep 17 00:00:00 2001 From: neru Date: Fri, 20 Mar 2026 19:19:04 -0300 Subject: [PATCH] fix: stop console from breaking after installing cert --- src/unlocker/cert_manager.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/unlocker/cert_manager.cpp b/src/unlocker/cert_manager.cpp index 310681f..a6f27ad 100644 --- a/src/unlocker/cert_manager.cpp +++ b/src/unlocker/cert_manager.cpp @@ -12,6 +12,8 @@ #include #include +#include + std::string randomizeString(size_t length) { const char charset[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; @@ -131,7 +133,15 @@ bool CertManager::GenerateCA() Log::info("Generated new CA key and certificate files. Installing to Windows Root CA store automatically..."); - system("certutil.exe -user -addstore root ca_cert.pem"); + STARTUPINFOA si = {sizeof(si)}; + PROCESS_INFORMATION pi; + char cmd[] = "certutil.exe -user -addstore root ca_cert.pem"; + if (CreateProcessA(NULL, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) + { + WaitForSingleObject(pi.hProcess, INFINITE); + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); + } return true; }