From 19660174b7ea5d82b889f06173166be1eab235cd Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 15 Aug 2024 22:50:49 -0500 Subject: [PATCH] Check that the new keypair is usable before persisting it --- app/backend/identitymanager.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/backend/identitymanager.cpp b/app/backend/identitymanager.cpp index e582efbb..08bfcc17 100644 --- a/app/backend/identitymanager.cpp +++ b/app/backend/identitymanager.cpp @@ -95,6 +95,14 @@ void IdentityManager::createCredentials(QSettings& settings) BIO_free(biokey); BIO_free(biocert); + // Check that the new keypair is valid before persisting it + if (getSslCertificate().isNull()) { + qFatal("Newly generated certificate is unreadable"); + } + if (getSslKey().isNull()) { + qFatal("Newly generated private key is unreadable"); + } + settings.setValue(SER_CERT, m_CachedPemCert); settings.setValue(SER_KEY, m_CachedPrivateKey); @@ -123,10 +131,10 @@ IdentityManager::IdentityManager() // We should have valid credentials now. If not, we're screwed if (getSslCertificate().isNull()) { - qFatal("Newly generated certificate is unreadable"); + qFatal("Certificate is unreadable"); } if (getSslKey().isNull()) { - qFatal("Newly generated private key is unreadable"); + qFatal("Private key is unreadable"); } }