环境:
win7 + vs2013 + openssl-1.0.2f
openssl-1.0.2f 采用 lib 编译
注意:
设置 工程的包含目录 到 编译好的openssl 的 \include\openssl目录下
在 vc++ 目录 包含目录中填入
$(ProjectDir)\openssl( 这个可能不是你的目录名 )\include
代码 一部分来自 openssl 自带的demo 一部分直接从 msdn 上面剪下来
主要看个思路。
这个代码唯一的功能就是,浏览器 输入 https://127.0.0.1:27015之后,浏览器 返回一个 200 ok
// HttpSvrDemo.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#pragma comment(lib,"Ws2_32.lib")
#pragma comment(lib,"User32.lib")
#pragma comment(lib,"Advapi32.lib")
#pragma comment(lib,"Gdi32.lib")
#include <openssl/ssl.h>
#pragma comment(lib,"./openssl/lib/libeay32.lib")
#pragma comment(lib,"./openssl/lib/ssleay32.lib")
#pragma warning(disable: 4996)
#define CERTF "server.crt"
#define KEYF "server.key.unsecure"
// 实际上 我更想用 goto ,但是怕有些强迫症受不了
#define _OBSESSION
#ifdef _OBSESSION
#define ERROR_HANDLE(); break;
#else
#define ERROR_HANDLE(); goto __ERROR_xseda65412;
#define ERROR_FLAGE(); __ERROR_xseda65412:<