openssl编程之服务端
继续上篇博客,我们有了openssl的客户端程序,本篇博文将详细介绍服务端的openssl编程
服务端使用的证书相关文件:ca.crt,server.crt,server.key,关于证书和key的生成,请参考:http://blog.youkuaiyun.com/fly2010love/article/details/46415307
程序如下:
#include "openssl/bio.h"
#include "openssl/ssl.h"
#include "openssl/err.h"
#include <sys/types.h>
#ifndef WIN32
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#else
#define close(x) closesocket(x)
#endif
#include <cstdio>
#define SERVER_PORT 8080
#define CA_CERT_FILE "server/ca.crt"
#define SERVER_CERT_FILE "server/server.crt"
#define SERVER_KEY_FILE "server/server.key"
typedef struct sockaddr SA;
int TcpInit()
{
int listener;
do{
listener = ::socket(AF_INET, SOCK_STREAM, 0);
if( listener == -1 )
return false;
struct sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_addr.s_addr =