The unified diff between revisions [12d9bc88..] and [61694173..] is displayed below. It can also be downloaded as a raw diff.
This diff has been restricted to the following files: 'doc/examples/dsa_sign.cpp'
#
#
# patch "doc/examples/dsa_sign.cpp"
# from [ef581f16fded1583144a1b645d87f1f831404a5e]
# to [009ee6115f1c18934b7dfeaabd8810660261e70b]
#
============================================================
--- doc/examples/dsa_sign.cpp ef581f16fded1583144a1b645d87f1f831404a5e
+++ doc/examples/dsa_sign.cpp 009ee6115f1c18934b7dfeaabd8810660261e70b
@@ -48,7 +48,8 @@ int main(int argc, char* argv[])
return 1;
}
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
std::auto_ptr<PKCS8_PrivateKey> key(
PKCS8::load_key(argv[1], *rng, passphrase)
@@ -62,13 +63,15 @@ int main(int argc, char* argv[])
return 1;
}
- Pipe pipe(new PK_Signer_Filter(get_pk_signer(*dsakey, "EMSA1(SHA-1)")),
- new Base64_Encoder);
+ PK_Signer signer(*dsakey, "EMSA1(SHA-1)");
- pipe.start_msg();
- message >> pipe;
- pipe.end_msg();
+ DataSource_Stream in(message);
+ byte buf[4096] = { 0 };
+ while(u32bit got = in.read(buf, sizeof(buf)))
+ signer.update(buf, got);
+ Pipe pipe(new Base64_Encoder);
+ pipe.process_msg(signer.signature(*rng));
sigfile << pipe.read_all_as_string() << std::endl;
}
catch(std::exception& e)