一个天朗气清的周末,决定看一下Composer的源码,从安装文件先看起,一路顺畅,直到遇到了openssl_xxx(),什么鬼啊这是,突然回想起在系统上安装软件的时候经常出现SSL:xxxx的错误?他们之间究竟有什么关系,据说Https和ssl也有关系,妈耶,于是有了这篇科普文。
文章逻辑是按照笔者的思考问题的历程写下的,可能有些跳跃,大家多担待。
文中大部分内容是通过维基百科和百度百科来的,可能自己有部分理解不对,环境大家提出指正。
什么是OpenSSL
维基百科:OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份。
问题来了
1.怎么样就是安全通信
了?
2.都知道Https比Http安全,但是究竟安全在哪里?
3.SSL是什么东西?
4.SSL和TSL有什么区别?
接下来,挨个来突破这些问题。
安全通信
我曾经以为的安全通信
例子1
小明开发了一个多人博客网站,所有人都可以在上面发表文章,下载资源
例子2
小黑开发了一个多人博客网站,只允许登录的用户在上面发表文章,下载资源
之前我一直以为,用户认证的过程就是安全通信的过程。: (
以下是英文版维基百科的定义,中文版的维基百科和百度百科没有找到相关的定义。
Secure communication is when two entities are communicating and do not want a third party to listen in.
中文:安全通信是指两个实体正在通信并且不希望第三方监听。
为了达到上述的目标,就需要**以不易被窃听或拦截
**的方式进行通信。
维基百科中还有一段话,附上
Other than spoken face-to-face communication with no possible eavesdropper, it is probably safe to say that no communication is guaranteed secure in this sense, although practical obstacles such as legislation, resources, technical issues (interception and encryp