From a6ebaeda0c556f313c3cd7fa6fde808154e89685 Mon Sep 17 00:00:00 2001 From: orignal Date: Thu, 17 Sep 2026 18:38:12 -0400 Subject: [PATCH] don't crash if unknown signing key type for new private keys --- libi2pd/Identity.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libi2pd/Identity.cpp b/libi2pd/Identity.cpp index 66ff402a..06b4b13f 100644 --- a/libi2pd/Identity.cpp +++ b/libi2pd/Identity.cpp @@ -768,6 +768,11 @@ namespace data PrivateKeys keys; // signature std::unique_ptr verifier (IdentityEx::CreateVerifier (type)); + if (!verifier) + { + LogPrint (eLogError, "Identity: Can't create keys with signing key type ", (int)type, ". Use DSA-SHA1"); + return PrivateKeys (i2p::data::CreateRandomKeys ()); // DSA-SHA1 + } std::vector signingPublicKey(verifier->GetPublicKeyLen ()); keys.m_SigningPrivateKey.resize (verifier->GetPrivateKeyLen ()); GenerateSigningKeyPair (type, keys.m_SigningPrivateKey.data (), signingPublicKey.data ());