A问: 为什么安装openssh的时候要安装openssl,是不是也可以不用安装openssl ?
网上查了下有说openssl是协议,这样的话那还要openssl做什么? openssh实现这个协议不就好了?
B答: 实现openssl当然没问题,
问题是openssl是不好实现的~
有现成的为什么不用,
实现个有很多Bug的openssl是暄宾夺主了。
C答:openssl 不是协议,而是对协议的实现,SSL/TLS 才是协议。
openssl(1) 说的很清楚:
OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer
Security (TLS v1) network protocols and related cryptography standards required by them.
A追问B:看到这句话我能明白点了 “OpenSSH (OpenBSD Secure Shell) 是一套使用ssh协议,通过计算机网络,提供加密通讯会话的计算机程序”
openssl是一种加密方式,openssh程序只是利用了这种方式罢了
这么理解对不对?
B答:对, 而且实现一个ssl很折腾, 不比实现ssh简单(如果要求高效, 无错,可能更复杂)这也就是为什么ssh不会自己去实现一个ssl,而是使用openssl的原因。
A追问C:那也就是说openssl也是实现安全套接字层(SSL v2/v3)和传输层安全(TLS v1)的工具
那openssh就是用这个openssl工具实现的安全?
C答: ssh 利用 openssl 提供的库。openssl 中也有个叫做 openssl 的工具,是 openssl 中的库的命令行接口。
openssh依赖于openssl,没有openssl的话openssh就编译不过去,也运行不了。
貌似openssl目前还是用得比较广泛的,chrome, opera浏览器都是用的这个库