技术解析

请问升级 OpenSSL 的问题。
0
2021-06-17 17:20:14
idczone
单位要求升级 OpenSSL,有两个疑问,请大神解惑。

1.OpenSSH 、OpenSSL 这两样东西经常会凑在一块说,ssh -V 的时候也能看到 SSL 版本号。SSH 协议本来就是加密的,那要 SSL 做什么,是哪些功能必须使用 SSL 实现吗?请举例。

2.OpenSSL 除了用来生成证书弄 https 外,还有什么用途吗,单位的一般业务系统是用不上的吧?比如我们的服务器就是运行 FTP 的,升级 OpenSSL 意义何在?
OpenSSL 除了用来生成证书弄 https 外,还有用途

sudo apt remove openssl
sudo yum remove openssl

OpenSSH 实现的是 SSH 协议, 但是默认是基于 OpenSSL 来实现的.
就好像一个是汽车, 一个是轮胎.
轮胎有 BUG, 升级了, 汽车也跟着召回吧.
问题 2, 和问题 1 差不多. OPENSSL 已经被大众认可,所以很多第三方开源或闭源产品都会基于 OpenSSL 来实现.
你的应用系统一般用不上, 但是应用系统周边的产品或者是应用系统本身运行的中间件,是很可能用得上的 .
比如 Mysql , Redis, Mongodb, Tomcat,Jetty,Nginx 等等等等.
这些产品在加密协议上通常都是使用 OpenSSL 来实现的.

个人的理解是,程序不会自己实现一遍 SSL 协议,所以实际上都是调用的 OpenSSL 库,所以需要系统安装好 OpenSSL 库,程序才能正常工作。

OpenSSL 包括 libcrypto 库,其他的使用 SSL/TlS 的程序如 curl wget 需要依赖的。

借个楼,我打算把乳酸菌架在局域网里的一台 win7 机器上,可一直报缺少 openssl,重装升级了都不管用,咋办?

标准的 OpenSSL 提供两个共享库:
libcrypto.so: 实现 RSA/AES/ECDH/SHA 等加解密原语以及 CSPRNG/X.509 证书等配套功能
libssl.so: 实现 SSL/TLS/DTLS 功能,依赖 libcrypto.so
通常还会提供一个叫 openssl 的命令行工具由于管理密钥和证书
SSL(现在叫 TLS)是现在绝地大部分加密通讯使用
SSH 也是跟 TLS 类似的加密协议但主要用于远程管理,很多细节跟 SSL 有区别
OpenSSH 是主流的对 SSH 的实现,但里面的加解密原语 /证书检验部分由其他库提供(一般就是 OpenSSL 的 libcrypto.so ,但也可以用别的,例如 LibreSSL 、GnuTLS 、mbedTLS ),类似的例子有 OpenV.PN 、wpa-supplicant(用于支持安全 wifi)
基本上涉及到加解密 /Hash 的软件都有可能用到 OpenSSL,范围远比你想象中的大,很多应用因为用到加解密 /Hash 功能就会用到 openssl 。
例如你说的 ftp,大概率要用到,如果 FTP 软件支持 SFTP/FTPS 服务那就是用了 SSH/TLS,同时像用户密码验证 /存储就会用上加密。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服