| 537 | } |
| 538 | |
| 539 | bool RSAVerifyFile(const char *pubFilename, const char *messageFilename, const char *signatureFilename) |
| 540 | { |
| 541 | FileSource pubFile(pubFilename, true, new HexDecoder); |
| 542 | RSASS<PKCS1v15, SHA>::Verifier pub(pubFile); |
| 543 | |
| 544 | FileSource signatureFile(signatureFilename, true, new HexDecoder); |
| 545 | if (signatureFile.MaxRetrievable() != pub.SignatureLength()) |
| 546 | return false; |
| 547 | SecByteBlock signature(pub.SignatureLength()); |
| 548 | signatureFile.Get(signature, signature.size()); |
| 549 | |
| 550 | VerifierFilter *verifierFilter = new VerifierFilter(pub); |
| 551 | verifierFilter->Put(signature, pub.SignatureLength()); |
| 552 | FileSource f(messageFilename, true, verifierFilter); |
| 553 | |
| 554 | return verifierFilter->GetLastResult(); |
| 555 | } |
| 556 | |
| 557 | void DigestFile(const char *filename) |
| 558 | { |
no test coverage detected