C++爬虫原理(十):Https的编程实现(SSL安全通讯)

C++爬虫原理(十):Https的编程实现(SSL安全通讯)

OpenSSL是一套开放源代码的SSL套件,其函数库是以C语言所写成,实现了基本的传输层数据加密功能。此软件是以两个加拿大人Eric A. Young 和Tim J. Hudson所写的SSLeay为基础所发展的,SSLeay随着两人前往RSA公司任职而停止开发。1998年,OpenSSL项目组接管了OpenSSL的开发工作,并推出了OpenSSL的0.9.1版,到目前为止,OpenSSL的算法已经非常完善,对SSL2.0、SSL3.0以及TLS1.0都支持。

OpenSSL同时实现了客户端与服务器的开发接口,使用OpenSSL进行安全通信的大致流程如下图所示。

ssl

关于https的算法实现,大家可以参考资料:

一、OpenSSL编程初探1 — 使用OpenSSL API建立SSL通信的一般流程简介

二、Win32平台下OpenSSL编写SSL,TLS程序

三、openssl 学习之SSL/TLS

四、OpenSSL库的官方:http://openssl.org/source/

五、已经在X64环境下编译的库 for visual studio 2013 : http://open.cplusplus.me/DevelopmentLibs/openssl.7z

通过以上资料可以非常清楚的了解openSSL的编程实现方法和原理。