4
** Written by Andrei Errapart <andreie@no.spam.ee>
10
#include <sys/socket.h>
11
#include <netinet/in.h>
17
fatal_error( const char* r)
26
printf("viotest-sslconnect: testing SSL virtual IO. Usage:\n");
27
printf("viotest-sslconnect key cert\n");
43
char ip[4] = {127, 0, 0, 1};
44
unsigned long addr = (unsigned long)
45
((unsigned long)ip[0]<<24L)|
46
((unsigned long)ip[1]<<16L)|
47
((unsigned long)ip[2]<< 8L)|
48
((unsigned long)ip[3]);
49
int fd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
51
fatal_error("socket");
52
struct sockaddr_in sa;
53
sa.sin_family = AF_INET;
54
sa.sin_port=htons(4433);
55
sa.sin_addr.s_addr=htonl(addr);
56
int sa_size = sizeof sa;
57
if (connect(fd, reinterpret_cast<const sockaddr*>(&sa), sa_size)==-1)
58
fatal_error("connect");
61
printf("Key : %s\n", key);
62
printf("Cert : %s\n", cert);
64
VIO_NS::VioSSLConnectorFd* ssl_connector = new VIO_NS::VioSSLConnectorFd(cert, key,0,0);
66
VIO_NS::VioSSL* vio = ssl_connector->connect(fd);
69
int r = vio->read(xbuf, sizeof(xbuf));
73
fatal_error("client:SSL_read");
76
printf("client:got %s\n", xbuf);