So I've looked around enough, and it seems others have had almost the same
issue, but has been solved differently.
Anyway on to what I'm trying to accomplish: I have a private key being sent
over a socket by a Java Server to decrypt a string, and a Qt/C++ client that
is trying to accept this key. While I was able to do so by sending the key
to a file first, and loading it as such:
CryptoPP::RSA::PrivateKey privKey;
CryptoPP::ByteQueue queue;
CryptoPP::FileSource file(filename.c_str(), true /*pumpAll*/);
file.TransferTo(queue);
queue.MessageEnd();
privKey.Load(queue);
I was not able to reproduce the same results using a byte array, I've tried
a couple ways:
//----------------------------- 1) -----------------------------------
QByteArray keyData = keySocket.readAll(); // reads all available data from
the socket (double checked)
char *data = keyData.data(); // returns a pointer to a '/0' terminated
string
CryptoPP::ByteQueue queue;
CryptoPP::StringSource keySource(data, true);
keySource.TransferTo(queue);
queue.MessageEnd();
privKey.Load(queue);
//------------------------------- 2) ----------------------------------
QByteArray keyData = keySocket.readAll(); // reads all available data from
the socket (double checked)
std::string dataString = QString(keyData).toStdString(); // creates a std
string from the byte array
CryptoPP::StringSource keySource(dataString, true);
privKey.Load(keySource);
Both times I end up with a "BER decode error" exception when trying to load
the key.
Am I just doing this completely wrong? I know there must be something
missing, but I've been going crazy trying so many ways!
Please help! It would be much appreciated!
--
View this message in context: http://old.nabble.com/Stuck-loading-Private-Key-from-Byte-Array-tp31846337p31846337.html
Sent from the Crypto++ Users mailing list archive at Nabble.com.
privKey.Load(CryptoPP::StringStore((const
byte*)data,(size_t)dataLen).Ref());
That's it, that's all!
data is a char * containing the bytes of the key, and dataLen as you can
probably guess is a const int with the length of data!
Thanks Da Co!
--
View this message in context: http://old.nabble.com/Stuck-loading-Private-Key-from-Byte-Array-tp31846337p31855303.html