2011-10-10 151 views
4

这个问题类似于 Starting to use OpenSSL 但更具体和详细,所以我认为这是公平的问。将http服务器转换为https服务器需要什么?

假设我有,做一个成功的GET场景

  • 下一个简单的HTTP服务器创建一个监听套接字
  • 客户端连接
  • 通过的recv
  • 读取数据解析GET请求,现在它知道哪个资源返回
  • 通过发送写入响应
  • 关闭soc 012

此服务器是在Linux上用C++编写的。

我的问题是,需要将此服务器转换为最小的https服务器? (特别是使用OpenSSL,但在一般意义上的答案是受欢迎的。)

这是我的理解(问号的意思是我不知道)

  • 初始化库
  • 读取服务器证书和私钥以及其他配置
  • 创建一个普通的监听套接字(?)
  • 客户端连接
  • 通过库函数做握手(?)
  • 握手完成
  • 在开始接收和发送数据之前,我需要一个特殊的步骤吗?
  • 通过库函数(?)读取数据
  • 数据看起来和HTTP GET完全一样吗?
  • 如果这样做,解析GET和获取资源通过图书馆功能
  • 写回的数据(?)
  • 关闭通过库函数的连接(?)

总之,我希望它只需要向当前代码添加一些额外的步骤,而不会影响HTTP解析。这个假设是否正确?

非常感谢任何能够填补空白的人。

+0

的最小SSL服务器在列出[答复问题7080958] [1] [1]:HTTP://计算器。com/questions/7080958/openssl-code-works-on-xp-but-hangs-forever-in-vista-and-up –

回答

0

查看“使用OpenSSL的网络安全”,因为它涵盖了这一点。即使你没有这本书,你也可以看看the code

+0

已经这样做了一段时间,因为我没有得到任何简洁的答案:)我会一旦我确定发生了什么,回答我自己的问题。谢谢! – Russell

相关问题