最近升级后,我遇到了一些 SSL 连接问题。我想暂时降级 openssl 以查看问题是否消失。
openssl已安装的当前版本是1.0.1-4ubuntu5.32,以前的版本是5.31。但是,当我尝试时:
apt-get install openssl=1.0.1-4ubuntu5.31
Run Code Online (Sandbox Code Playgroud)
我得到:
E: Version '1.0.1-4ubuntu5.31' for 'openssl' was not found
Run Code Online (Sandbox Code Playgroud)
我认为这是安装特定版本的正确程序?
我以前下载文件然后openssl用来加密,这对我来说是不够的。如何在下载文件时逐渐加密下载?
我想过使用curl和openssl管道,但无法弄清楚。
有没有更好的工具来执行此操作?
我想使用 OpenSSL1.1.1 版本进行代码开发。目前我正在 Ubuntu 18.04 机器上使用 Openssl 1.1.0g。
如果我使用命令下载包sudo apt install libssl-dev,那么我会得到 OpenSSL 1.1.0g 版本,
如果我使用命令下载包sudo apt install libssl1.0-dev,那么我会得到 OpenSSL 1.0.2n 版本,
如何下载 OpenSSL 1.1.0 和 libssl 包?
注意:我不想单独下载 OpenSSL 包并在外部构建它。我应该使用 Ubuntu 包下载。
当这个问题出现时,我正在 ubuntu 统一终端窗口中探索:
当我输入:
file /bin/ls
Run Code Online (Sandbox Code Playgroud)
输出是:
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x214a38d0db472db559f0dabf0ae97f82fea83e03, stripped
Run Code Online (Sandbox Code Playgroud)
我想验证 sha1 是否正确,因此我输入了以下内容:
openssl sha1 /bin/ls
Run Code Online (Sandbox Code Playgroud)
但是,输出是这样的:
SHA1(/bin/ls)= 8800fee57584ed1c44b638225c2f1eec818a27c2
Run Code Online (Sandbox Code Playgroud)
虽然它们的十六进制长度相同,但它们似乎并不匹配。我错过了什么?还是BuildID[sha1]指的是别的东西?
我收到以下错误:
jalal@klein:~$ ssh -i "hyunwoo_key.pem" ubuntu@ec2-52-23-201-2.compute-1.amazonaws.com
ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by ssh)
ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by ssh)
OpenSSL version mismatch. Built against 1000207f, you have 100010bf
jalal@klein:~$ openssl version
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by …Run Code Online (Sandbox Code Playgroud) 我有亚马逊官方客户端,并且已经使用它很多年了。当我升级到 22.04 时,客户端在每次启动时都开始崩溃。看来是 OpenSSL 的错误
$ ./workspacesclient
No usable version of libssl was found
[1] 23961 IOT instruction (core dumped) ./workspacesclient
Run Code Online (Sandbox Code Playgroud)
我确实尝试加载旧的 libssl
$ sudo aptitude install libssl-dev
Run Code Online (Sandbox Code Playgroud)
但这并没有以我所看到的任何方式改变行为。
installing man1/cms.1
cms.pod around line 457: Expected text after =item, not a number
cms.pod around line 461: Expected text after =item, not a number
cms.pod around line 465: Expected text after =item, not a number
cms.pod around line 470: Expected text after =item, not a number
cms.pod around line 474: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 71.
make: *** [install_docs] Error 255
Run Code Online (Sandbox Code Playgroud)
尝试在 ubuntu 14.04 上从源代码构建时出现此错误。
-谢谢!
不,这不是如何修补 OpenSSL 中的 Heartbleed 错误 (CVE-2014-0160) 的副本?. 所以,请继续阅读。
我看到有关 Ubuntu 12.04 的信息相互矛盾:
1.0.1-4ubuntu5.12的包libssl1.0.0应该可以解决在Ubuntu 12.04的问题。现在我确实安装了这些软件包:
# dpkg -l | grep ssl
ii libssl1.0.0 1.0.1-4ubuntu5.10 SSL shared libraries
ii openssl 1.0.1-4ubuntu5.10 Secure Socket Layer (SSL) binary and related cryptographic tools
# lsb_release -a | grep -i description
Description: Ubuntu 12.04.3 LTS
Run Code Online (Sandbox Code Playgroud)
所以,如果我考虑以上两点,我不确定哪一点是正确的。
此外,这个 Heartbleed 测试页说我的机器易受攻击。
有没有人能够在 Ubuntu 12.04 上成功解决这个问题?如果是,那么您能否向我提供您已采取的步骤?
我们curl无法连接到 HTTPS 服务器时遇到问题:
$ curl https://the-problem-site.com (not the real URL!)
curl: (35) error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
Run Code Online (Sandbox Code Playgroud)
1112SSL_R_TLSV1_UNRECOGNIZED_NAME在ssl.h.
如果我openssl s_client -connect the-problem-site.com:443改为尝试,那么我会看到
CONNECTED(00000003)
depth=1 /C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
verify error:num=20:unable to get local issuer certificate
verify return:0
Certificate chain
0 s:/serialNumber=xx/C=xx/ST=xx/L=xxxx/O=xx/OU=xx/CN=the-problem-site.com
i:/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
1 s:/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
Run Code Online (Sandbox Code Playgroud)
即看起来问题在于它不信任/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA. 但是,该证书已安装:它是/etc/ssl/certs/GeoTrust_Global_CA.pem,如果我运行
openssl s_client -connect the-problem-site.com:443 -CAfile /etc/ssl/certs/GeoTrust_Global_CA.pem
然后一切正常。证书也以哈希命名的文件形式存在b0f3e76e.0,它位于ca-certificates.crt. 但是,据我所知, …
您看到的错误消息表明我的系统尚未更新到最新版本的 OpenSSL,其中包括对 CVE-2023-2650 漏洞的修复。如何解决这个问题:
Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 https://dl.google.com/linux/chrome/deb stable InRelease
Hit:4 https://packages.microsoft.com/repos/edge stable InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:6 https://esm.ubuntu.com/cis/ubuntu jammy InRelease
Hit:7 http://us.archive.ubuntu.com/ubuntu jammy-security InRelease
Hit:8 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security InRelease
Hit:9 https://esm.ubuntu.com/apps/ubuntu jammy-apps-updates InRelease
Hit:10 https://esm.ubuntu.com/infra/ubuntu jammy-infra-security InRelease
Hit:11 https://esm.ubuntu.com/infra/ubuntu jammy-infra-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
4 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done …Run Code Online (Sandbox Code Playgroud)