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