Hi,
I'm in the same situation as you but with EC scheme, I used Harry's
code (
http://groups.google.com/group/cryptopp-users/browse_thread/
thread/e58e46f0e8558f2b/022e858d15529859?lnk=gst&q=How+to+save+public
+key+and+private+key+for+#022e858d15529859)
to get the private and public key written on files and now I 'd like
to Load the public key from the public.key file using the Load()
method from PublicKey class
Here is the portion of my code :
CryptoPP::ECIES < ECC_ALGORITHM >::Encryptor Encryptor
(publicKey);
// Public Key Loading
std::ifstream file2("Public.key", std::ios::in);
string public_k;
if(file2)
{
getline(file2, public_k); // put the first line on
"public_k"
cout << "the public key " << public_k << endl ; //
display the line
file2.close();
}
else
cerr << "impossible to open the file!" << endl;
publicKey.Load(public_k);
-------------
After compiling I got the following error :
error: no matching function for call to
‘CryptoPP::DL_PublicKey_EC<CryptoPP::ECP>::Load(std::string&)’
/usr/include/cryptopp/asn.h:240: note: candidates are: void
CryptoPP::ASN1CryptoMaterial<BASE>::Load(CryptoPP::BufferedTransformation&)
[with BASE = CryptoPP::PublicKey]
The problem seems to be the choice of the parameter type for Load() ,
which should be BufferedTransformation&. How can I convert from
string to this type then ?
thanks for help.