Finally I found the bug:
The SignerFilter generate ever a signature of 192 bytes in size.
SignatureVerificationFilter expects a signature exactly 192 bytes in size,
if it is more or less the verify fails beacuse "digital signature is not
valid".
Here is how I save the key:
cout << SIGNATURE.size() << "bytes\n"; //check that SIGNATURE generated
is ever 192 bytes
fstream f1;
f1.open("./Signatures", fstream::out | fstream::binary);
f1.write(SIGNATURE.c_str(),SIGNATURE.size()); //if i check the
file created when, after the program ends running, is is EVER 192 bytes in
size
f1.close();
fstream f2;
f1.open("./Signatures", fstream::in | fstream::binary);
getline(f1,signature);
//it reads ever something
f1.close();
cout << signature.size() <<"bytes\n"; //sometimes this is
not 192 bytes, then the verify fails
I need a way to understand WHY the reading of the files fails. Maybe
something goes wrong with the getline?
Any ideas?
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.