From fff34e77f566d238744d0cfba140168aa28c1e26 Mon Sep 17 00:00:00 2001 From: orignal Date: Fri, 1 Dec 2017 13:43:00 -0500 Subject: [PATCH] pass signature and crypto type to newkeys --- libi2pd_client/BOB.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libi2pd_client/BOB.cpp b/libi2pd_client/BOB.cpp index 4539eac8..e4a060d0 100644 --- a/libi2pd_client/BOB.cpp +++ b/libi2pd_client/BOB.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include "Log.h" #include "ClientContext.h" #include "util.h" @@ -434,7 +436,15 @@ namespace client void BOBCommandSession::NewkeysCommandHandler (const char * operand, size_t len) { LogPrint (eLogDebug, "BOB: newkeys"); - m_Keys = i2p::data::PrivateKeys::CreateRandomKeys (); + std::vector params; + boost::split (params, operand, boost::is_any_of(" "), boost::token_compress_on); + i2p::data::SigningKeyType signatureType = i2p::data::SIGNING_KEY_TYPE_DSA_SHA1; + i2p::data::CryptoKeyType cryptoType = i2p::data::CRYPTO_KEY_TYPE_ELGAMAL; + if (params.size () > 0) + signatureType = std::stoi(params[0]); + if (params.size () > 1) + cryptoType = std::stoi(params[1]); + m_Keys = i2p::data::PrivateKeys::CreateRandomKeys (signatureType, cryptoType); SendReplyOK (m_Keys.GetPublic ()->ToBase64 ().c_str ()); }