The unified diff between revisions [12d9bc88..] and [61694173..] is displayed below. It can also be downloaded as a raw diff.
#
#
# patch "doc/examples/ca.cpp"
# from [40ef88f4a8bcc9a4451144194837c248de9cbbc3]
# to [1648cc1e145e0f11cad4929e15daf87ba7c6882f]
#
# patch "doc/examples/dh.cpp"
# from [556d5be979b780dcf79fb21527fd24cfc9d3348b]
# to [e23dd15f6a039ce719d8538aa227a34424fedac8]
#
# patch "doc/examples/dsa_kgen.cpp"
# from [8c0609f20f18408f5ed6d5640c4063ca580e6bac]
# to [76f45452b36bbee109877a6bdcf10c27935b3d22]
#
# patch "doc/examples/dsa_sign.cpp"
# from [ef581f16fded1583144a1b645d87f1f831404a5e]
# to [009ee6115f1c18934b7dfeaabd8810660261e70b]
#
# patch "doc/examples/dsa_ver.cpp"
# from [0333fd7843422f29671c58ec3bead1fc4ea52986]
# to [5f4635fc7f20915776b8c4f0c80056d829834df4]
#
# patch "doc/examples/encrypt.cpp"
# from [eb9430dfd41f655a0ba92764172820c755b8b8da]
# to [87ea2c212d8ac02aab9e329516faa1f104ac1fa0]
#
# patch "doc/examples/factor.cpp"
# from [ccd7d9f57b4aa83b0f37e40f11da5a7ff40d43d0]
# to [51fb64d85755667ddef183e2a0772c343634ea9a]
#
# patch "doc/examples/passhash.cpp"
# from [a58d867fd42a56e390f2a26b2e65fce72b080b5a]
# to [7d1729fd83005909291a5af91e50cf967c105e42]
#
# patch "doc/examples/pkcs10.cpp"
# from [18e1bbf83d04e9a5a1eeed97f361d41eabf8088d]
# to [2f55dc23fbfd39c431f05a4e01072f6a22a837f8]
#
# patch "doc/examples/rsa_dec.cpp"
# from [3c7eee6577a3aff0ab79bdf78b2b37580cc91b5b]
# to [548f30f9ba403b7a8ac655e893946ed381a9dfef]
#
# patch "doc/examples/rsa_enc.cpp"
# from [2cffe82b22bee3a8ef7de06186195ee649ef9668]
# to [f01e8f5ad36889d4f5d131452be49cff1a694da5]
#
# patch "doc/examples/rsa_kgen.cpp"
# from [fdfbdc77fca641505d6a1aa854bd67fe34095418]
# to [be1f2b4ce7898dc39581483342a70c6c19a6deb0]
#
# patch "doc/examples/self_sig.cpp"
# from [7b9cca9a8f2445c586e59acfd079f94739dd9d1a]
# to [d1c702ea771fc2f771878e4078a3daa8728ae96d]
#
============================================================
--- doc/examples/ca.cpp 40ef88f4a8bcc9a4451144194837c248de9cbbc3
+++ doc/examples/ca.cpp 1648cc1e145e0f11cad4929e15daf87ba7c6882f
@@ -38,7 +38,8 @@ int main(int argc, char* argv[])
const std::string arg_ca_key = argv[3];
const std::string arg_req_file = argv[4];
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
X509_Certificate ca_cert(arg_ca_cert);
@@ -58,7 +59,8 @@ int main(int argc, char* argv[])
X509_Time start_time(system_time());
X509_Time end_time(system_time() + 365 * 60 * 60 * 24);
- X509_Certificate new_cert = ca.sign_request(req, *rng, start_time, end_time);
+ X509_Certificate new_cert = ca.sign_request(req, *rng,
+ start_time, end_time);
// send the new cert back to the requestor
std::cout << new_cert.PEM_encode();
============================================================
--- doc/examples/dh.cpp 556d5be979b780dcf79fb21527fd24cfc9d3348b
+++ doc/examples/dh.cpp e23dd15f6a039ce719d8538aa227a34424fedac8
@@ -17,7 +17,8 @@ int main()
{
try
{
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
// Alice creates a DH key and sends (the public part) to Bob
DH_PrivateKey private_a(*rng, DL_Group("modp/ietf/1024"));
============================================================
--- doc/examples/dsa_kgen.cpp 8c0609f20f18408f5ed6d5640c4063ca580e6bac
+++ doc/examples/dsa_kgen.cpp 76f45452b36bbee109877a6bdcf10c27935b3d22
@@ -44,7 +44,9 @@ int main(int argc, char* argv[])
try
{
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
+
DSA_PrivateKey key(*rng, DL_Group("dsa/jce/1024"));
pub << X509::PEM_encode(key);
============================================================
--- 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)
============================================================
--- doc/examples/dsa_ver.cpp 0333fd7843422f29671c58ec3bead1fc4ea52986
+++ doc/examples/dsa_ver.cpp 5f4635fc7f20915776b8c4f0c80056d829834df4
@@ -67,19 +67,16 @@ int main(int argc, char* argv[])
SecureVector<byte> sig = b64_decode(sigstr);
- Pipe pipe(new PK_Verifier_Filter(
- get_pk_verifier(*dsakey, "EMSA1(SHA-1)"), sig
- )
- );
+ std::auto_ptr<PK_Verifier> ver(get_pk_verifier(*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)))
+ ver->update(buf, got);
- byte result = 0;
- pipe.read(result);
+ bool ok = ver->check_signature(sig);
- if(result)
+ if(ok)
std::cout << "Signature verified\n";
else
std::cout << "Signature did NOT verify\n";
============================================================
--- doc/examples/encrypt.cpp eb9430dfd41f655a0ba92764172820c755b8b8da
+++ doc/examples/encrypt.cpp 87ea2c212d8ac02aab9e329516faa1f104ac1fa0
@@ -121,7 +121,8 @@ int main(int argc, char* argv[])
const u32bit key_len = max_keylength_of(algo);
const u32bit iv_len = block_size_of(algo);
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
std::auto_ptr<S2K> s2k(get_s2k("PBKDF2(SHA-1)"));
s2k->set_iterations(8192);
============================================================
--- doc/examples/factor.cpp ccd7d9f57b4aa83b0f37e40f11da5a7ff40d43d0
+++ doc/examples/factor.cpp 51fb64d85755667ddef183e2a0772c343634ea9a
@@ -123,7 +123,8 @@ int main(int argc, char* argv[])
{
BigInt n(argv[1]);
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
std::vector<BigInt> factors = factorize(n, *rng);
std::sort(factors.begin(), factors.end());
============================================================
--- doc/examples/passhash.cpp a58d867fd42a56e390f2a26b2e65fce72b080b5a
+++ doc/examples/passhash.cpp 7d1729fd83005909291a5af91e50cf967c105e42
@@ -23,7 +23,8 @@ int main(int argc, char* argv[])
if(argc == 2)
{
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
std::cout << "H('" << argv[1] << "') = "
<< password_hash(argv[1], *rng) << '\n';
============================================================
--- doc/examples/pkcs10.cpp 18e1bbf83d04e9a5a1eeed97f361d41eabf8088d
+++ doc/examples/pkcs10.cpp 2f55dc23fbfd39c431f05a4e01072f6a22a837f8
@@ -28,7 +28,9 @@ int main(int argc, char* argv[])
try
{
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
+
RSA_PrivateKey priv_key(*rng, 1024);
// If you want a DSA key instead of RSA, comment out the above line and
// uncomment this one:
============================================================
--- doc/examples/rsa_dec.cpp 3c7eee6577a3aff0ab79bdf78b2b37580cc91b5b
+++ doc/examples/rsa_dec.cpp 548f30f9ba403b7a8ac655e893946ed381a9dfef
@@ -34,8 +34,12 @@ int main(int argc, char* argv[])
try
{
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
- std::auto_ptr<PKCS8_PrivateKey> key(PKCS8::load_key(argv[1], *rng, argv[3]));
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
+
+ std::auto_ptr<PKCS8_PrivateKey> key(
+ PKCS8::load_key(argv[1], *rng, argv[3]));
+
RSA_PrivateKey* rsakey = dynamic_cast<RSA_PrivateKey*>(key.get());
if(!rsakey)
{
============================================================
--- doc/examples/rsa_enc.cpp 2cffe82b22bee3a8ef7de06186195ee649ef9668
+++ doc/examples/rsa_enc.cpp f01e8f5ad36889d4f5d131452be49cff1a694da5
@@ -73,7 +73,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<PK_Encryptor> encryptor(get_pk_encryptor(*rsakey,
"EME1(SHA-1)"));
@@ -89,7 +90,8 @@ int main(int argc, char* argv[])
statistically indepedent. Practically speaking I don't think this is
a problem.
*/
- SymmetricKey masterkey(*rng, std::min(32U, encryptor->maximum_input_size()));
+ SymmetricKey masterkey(*rng,
+ std::min(32U, encryptor->maximum_input_size()));
SymmetricKey cast_key = derive_key("CAST", masterkey, 16);
SymmetricKey mac_key = derive_key("MAC", masterkey, 16);
============================================================
--- doc/examples/rsa_kgen.cpp fdfbdc77fca641505d6a1aa854bd67fe34095418
+++ doc/examples/rsa_kgen.cpp be1f2b4ce7898dc39581483342a70c6c19a6deb0
@@ -45,7 +45,9 @@ int main(int argc, char* argv[])
try
{
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
+
RSA_PrivateKey key(*rng, bits);
pub << X509::PEM_encode(key);
============================================================
--- doc/examples/self_sig.cpp 7b9cca9a8f2445c586e59acfd079f94739dd9d1a
+++ doc/examples/self_sig.cpp d1c702ea771fc2f771878e4078a3daa8728ae96d
@@ -42,7 +42,9 @@ int main(int argc, char* argv[])
try
{
- std::auto_ptr<RandomNumberGenerator> rng(make_rng());
+ std::auto_ptr<RandomNumberGenerator> rng(
+ RandomNumberGenerator::make_rng());
+
RSA_PrivateKey key(*rng, 1024);
std::ofstream priv_key("private.pem");