Skip to content

Commit

Permalink
added send & receive test
Browse files Browse the repository at this point in the history
  • Loading branch information
StephanDollberg committed Feb 6, 2014
1 parent 071ebab commit 0ee419c
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 0 deletions.
20 changes: 20 additions & 0 deletions test/server.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDLjCCAhYCCQDGfPqFhKChRzANBgkqhkiG9w0BAQUFADBZMQswCQYDVQQGEwJB
VTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTMwNzEzMTQyMzIzWhcN
MTQwNzA0MTQyMzIzWjBZMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0
ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRIwEAYDVQQDEwls
b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzsTKtjOBx
SaTYNYK+7PUWkS0Ex6dJF/C/qVtCj7HVxyMjW5kZ+gyaKLUjCJ6xAh6zvce8xJ/f
CAnjIMJiUj6QkBUxHfkCeJ0PjwAJRdZLNvFq7VkZFAL6pDjpFVEPbOikqqJhh6kM
Qkt2EQgV5A1jPpksnddU7nxz2xRbXHPPdPuiMx5UxKi7ih/Es70E1XEgUOza3Z+m
nE9KrkHPpq0hfa79bEQS7i5n61KzAbQMJKiDJn2LiTyIpsagJMfFuQAtxh5gApbE
5vRRBB2acU2cjQlkTDUnzHX0hXIPqasUYt8ozY7tzivK4PJ5NqQMwc1b10VqiNzb
CYlEJEAVu7mvAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKGhPNPIzFBZl/u12I+g
AAFAHllSaCof+BaaPEkHjWwTANBNX6YDBLhKVFDrDMJflCF8hVMU3+cSx7LXYBQI
HTP+YBTbDEk/WXrFbbt1kx0gDMWzGdneugquhn6IMsc7S6MgXohBA5o4aC26cWip
aGlBjZqHjws5pUcmJqauohKhS/UvDJZVm1a7v683iaB1UBA2FDF5H94L4hVidZ5j
OCRvfVQTk9a3h9kUInDn+jdQP7Oq4x9EaAxd0s+tWki93QtONlZOoJz1ZgdBv9K7
LdX3xs/vLxIAwTbokMnheDfHYeErJEoHHZTkMtxGWFM4NDtwx50SqR209VK4QdWR
WhY=
-----END CERTIFICATE-----
30 changes: 30 additions & 0 deletions test/server.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,65C46E74B7F6B45C

I8228NIM+Z6MxyoC0RbtHm3Drvh/YgTd+PwFsKhz37wwde1Ov9by3uQfwqOsatqY
ZUqAv03crPk4UYP/vwev5wJ8kPOCipneDglKruQUicaYFhA/ok1ZX3BKR/rnqJ8+
AgoMc0PpCW2YtDnIfI3Jo3vz9g+Yo9n+Rlsh3dZtcedn5m0K6SDbS8VbFNmWK4cX
o9nVctJj4IHUWlHOnxAHoLZ+VytvJSyEa+lU5ZsFcxQYatPmfhUQt+U95I609yiN
3y9H+AW7Xz739GhkHHJzr3E1qYQ3iRyHn/81tWsmJK7U9k0sJCPFfs4RXTAiIKdS
NlNOzB7j5TeFjysWqyv6T0RA20Jenzc81VC+i6rGUs6UDUDZcL2/NpO8eJtb7DVl
0BStX0hHJzWlwoq5RQzCC/4eH+WO5J5UJmVXiBJBKeoUPi2K03OdnkMsAcCGPGRY
YUmn7jrF/qXBq568hdUaNNiq1grHXEjtt6GKucFsar5OmI5iEBLp0MGTlCdbRt3l
9xn15bDuTerORgJ0V6tmj6wvl+gfYij26cEncbUswN1J7p0p4la0H48WrBsfIXam
ELvMQhiRt2iHxLHXtBy+hW3hH+d6rAkP1FAnsUGW9/ycpA87i1pV4r1692Tr6nXj
i+4XH1pmOnQVroLFYkcYQrLuobDSO79n6d6ucY42aZ7kjMlqlRtI/DQl12eo/3pn
XUcqGtHLNsPFMW8Mc+8I2UACKnFHnto1lVf66WpGP6W+bYjuMLapVKP9fgA4Cr02
AVzzimCLemMx343UIiGJwsUI5ewp7gty1IhHdFN3B4FLZ7VlYupdoBw2hdfg1XQq
UUbbmplFKREStFRaSZdMMxYHYpUW2KGTGXR+JPTGEOV6cMB0Xwovxen1pcVMwI4M
IRzOx/+miVsDd+t9H1oymUB/d2sqZyc9XzGdsh1fzFLO5kwJoZS/23+gFHcyYbSv
0/KhHkQEV6bAHmXRcF2Rxx2aiZAGxBh06JXXkOLcleI+GFH6Yi85F6ze6hkcCO0Z
yAP7Yid2qwZZY/DhPiiGIGL47dZM5KaR5ud8OzGalchjcNIef5Yj+I3caarGNClr
xPCT6FjSG2uHFZhr2N3NjwQb6vme5eps02nU3DeJE7xeX4m96vdDnjdhY4B6WYSU
vbf3N+hR/jJar3P6/2IHYWADfWgMRN8YrVMX4UBOoPL6tQPDfcuo05EpZs5x5Rza
IOvHGVnLgp3f8ICGsh5C0fo0wuQ1Lr7l8EQAj0G22lf+rGxMfyiX1Ls2eIvKusJe
Zup0AASpwhr9OLhiwbK4wK7ljEj0QyNHdyCscL3JZBCbcehQ93qNI0w41zXr5i7j
4hTSoN3K560LwF2Nm7Z1dIlwxVu6NwNkQwp/Lq0W1PIzrIWvzt0TBayKAGvyGjzj
h97ELOKe7iYhCfhY9q3qWC0a+/1jPlcu7Hgt2GotWVg+HrB2X6Haf/42j5BPNOSh
nW/WoTTBTbhZycDgKb3B8fQICDkQLmaNHwjCd/PWifty93B+LoPOWWS8Su+Kd6Ex
XXd+Af6nX5PFf5fuKxKxVnMfVraery/zSXwawwh5WCt0XrIXYFbAlA==
-----END RSA PRIVATE KEY-----
61 changes: 61 additions & 0 deletions test/ssl_test.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#include "catch/single_include/catch.hpp"

#include "../include/twistedcpp/reactor.hpp"
#include "../include/twistedcpp/protocols/basic_protocol.hpp"
#include "../include/twistedcpp/factories/default_factory.hpp"

#include <boost/asio/read.hpp>
#include <boost/scope_exit.hpp>

#include <vector>
#include <string>
#include <future>

using boost::asio::ip::tcp;

struct echo_protocol : twisted::basic_protocol<echo_protocol> {
template <typename Iter>
void on_message(Iter begin, Iter end) {
send_message(begin, end);
}
};

TEST_CASE("basic ssl compile test", "[ssl][reactor]") {
twisted::reactor reac;
auto fut = std::async(std::launch::async, [&]() {
reac.listen_ssl(
50000, twisted::default_factory<echo_protocol>(),
twisted::default_ssl_options("server.crt", "server.key", "ikn1"));
reac.run();
});

boost::asio::ssl::context context(boost::asio::ssl::context::sslv23);
context.use_certificate_chain_file("server.crt");

boost::asio::io_service io_service;
boost::asio::ssl::stream<boost::asio::ip::tcp::socket> socket(io_service,
context);

BOOST_SCOPE_EXIT_TPL((&reac)(&socket)) {
reac.stop();
if (socket.lowest_layer().is_open()) {
socket.lowest_layer().close();
}
}
BOOST_SCOPE_EXIT_END

std::this_thread::sleep_for(std::chrono::milliseconds(3));

socket.lowest_layer().connect(tcp::endpoint(
boost::asio::ip::address::from_string("127.0.0.1"), 50000));

socket.handshake(boost::asio::ssl::stream_base::client);

std::string input("TEST123");

boost::asio::write(socket, boost::asio::buffer(input));

std::string buffer(input.size(), '\0');
boost::asio::read(socket, boost::asio::buffer(&buffer[0], buffer.size()));
CHECK(buffer == input);
}

0 comments on commit 0ee419c

Please sign in to comment.