diff options
author | lloyd <[email protected]> | 2010-04-28 22:31:20 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-04-28 22:31:20 +0000 |
commit | 0f47cb60e703ca2de56286f07b4c9d91c7bba071 (patch) | |
tree | 5304fd84516c79f55e213755b2b2b99e6e65c9e0 /doc/examples | |
parent | 6eec50d372143afcb3188f21d0991ace3e0d5e9e (diff) | |
parent | 50fc7b15553d888d95bee72972e53eae27a82c1f (diff) |
propagate from branch 'net.randombit.botan' (head a5f25a3b954f24c5d07fa0dab6c4d76f63767165)
to branch 'net.randombit.botan.c++0x' (head a365694b70b4b84ca713272d56d496acca351cb5)
Diffstat (limited to 'doc/examples')
-rw-r--r-- | doc/examples/tls_client.cpp | 8 | ||||
-rw-r--r-- | doc/examples/tls_server.cpp | 28 |
2 files changed, 23 insertions, 13 deletions
diff --git a/doc/examples/tls_client.cpp b/doc/examples/tls_client.cpp index b60941eb2..5006e0a1a 100644 --- a/doc/examples/tls_client.cpp +++ b/doc/examples/tls_client.cpp @@ -31,6 +31,8 @@ int main() std::string http_command = "GET /bitbashing\r\n"; tls.write((const byte*)http_command.c_str(), http_command.length()); + u32bit total_got = 0; + while(true) { if(tls.is_closed()) @@ -38,9 +40,13 @@ int main() byte buf[16+1] = { 0 }; u32bit got = tls.read(buf, sizeof(buf)-1); - printf("Got %d bytes: %s", got, buf); + printf("%s", buf); fflush(0); + + total_got += got; } + + printf("Retrieved %d bytes total\n", total_got); } catch(std::exception& e) { diff --git a/doc/examples/tls_server.cpp b/doc/examples/tls_server.cpp index 39453dbfd..ff4265937 100644 --- a/doc/examples/tls_server.cpp +++ b/doc/examples/tls_server.cpp @@ -4,7 +4,7 @@ * Distributed under the terms of the Botan license */ -#include <botan/init.h> +#include <botan/botan.h> #include <botan/tls_server.h> #include <botan/unx_sock.h> @@ -31,30 +31,34 @@ int main(int argc, char* argv[]) { LibraryInitializer init; - std::auto_ptr<RandomNumberGenerator> rng( - RandomNumberGenerator::make_rng()); + AutoSeeded_RNG rng; - RSA_PrivateKey key(*rng, 512); - //DSA_PrivateKey key(get_dl_group("DSA-1024")); + //RSA_PrivateKey key(rng, 1024); + DSA_PrivateKey key(rng, DL_Group("dsa/jce/1024")); X509_Cert_Options options( - "www.randombit.net/US/Syn Ack Labs/Mathematical Munitions Dept"); + "localhost/US/Syn Ack Labs/Mathematical Munitions Dept"); X509_Certificate cert = - X509::create_self_signed_cert(options, key, "SHA-1", *rng); + X509::create_self_signed_cert(options, key, "SHA-1", rng); Unix_Server_Socket listener(port); - printf("Now listening on port %d...\n", port); - while(true) { try { + printf("Listening for new connection on port %d\n", port); + Socket* sock = listener.accept(); printf("Got new connection\n"); - TLS_Server tls(*rng, *sock, cert, key); + TLS_Server tls(rng, *sock, cert, key); + + std::string hostname = tls.requested_hostname(); + + if(hostname != "") + printf("Client requested host '%s'\n", hostname.c_str()); printf("Writing some text\n"); @@ -63,8 +67,8 @@ int main(int argc, char* argv[]) printf("Now trying a read...\n"); - char buf[10] = { 0 }; - u32bit got = tls.read((byte*)buf, 9); + char buf[1024] = { 0 }; + u32bit got = tls.read((byte*)buf, sizeof(buf)-1); printf("%d: '%s'\n", got, buf); tls.close(); |