解决 Ubuntu 22.04 上的 SSL/TLS 连接问题 - Dell 库的问题

解决 Ubuntu 22.04 上的 SSL/TLS 连接问题 - Dell 库的问题

我在 SSL 连接方面遇到了一些问题。原来 OpenSSL 使用了戴尔提供的库,这导致了兼容性问题。

在尝试连接 Ubuntu Pro 时,我遇到了:

user@host:~$sudo pro attach *********************
Failed to connect to authentication server
Check your Internet connection and try again.

在尝试初始化 Waydroid 时,我遇到了 SSL 错误消息。我知道我的网络或我尝试访问的主机没有问题。

所以我读了另一个线程尝试了一些命令来诊断和调试 SSL 问题,这个命令给了我一些有用的调试信息

user@host:~$sudo c_rehash /etc/ssl/certs

Doing /etc/ssl/certs
/usr/bin/openssl: /opt/dell
/usr/bin/openssl: /opt/dell/dcc/libcrypto.so.3: version `OPENSSL_3.0.3' not found (required by /usr/bin/openssl) 
# (this message on the above line repeated numerous times)

然后我根据收到的建议检查了这一点。

user@host:~$ openssl version

openssl: /opt/dell/dcc/libcrypto.so.3: version `OPENSSL_3.0.3' not found (required by openssl)

因此存在与戴尔提供的库相关的错误。我有一台戴尔 Latitude 5420。

我检查了库路径,以查看 libcrypto.so.3 库从哪里加载。使用以下命令ldd检查 openssl 二进制文件的依赖项:

ubuntu@laptop-ubuntu22-04:~$ ldd /usr/bin/openssl

/usr/bin/openssl: /opt/dell/dcc/libcrypto.so.3: version `OPENSSL_3.0.3' not found (required by /usr/bin/openssl)
    linux-vdso.so.1 (0x00007ffe945e0000)
    libssl.so.3 => /opt/dell/dcc/libssl.so.3 (0x00007fda47637000)
    libcrypto.so.3 => /opt/dell/dcc/libcrypto.so.3 (0x00007fda47000000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fda46c00000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fda47632000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fda4762d000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fda477f9000)

ldd /usr/bin/openssl 的输出确认 OpenSSL 二进制文件链接到 Dell 提供的 OpenSSL 库/opt/dell/dcc/。似乎这些库与预期的 OpenSSL 版本不兼容。为了解决这个问题,我选择使用系统的 OpenSSL 库,而不是 Dell 提供的库。

我删除了戴尔提供的 OpenSSL 库,因为它们引起了冲突,并将它们移动到备份文件夹以防止系统使用它们。

sudo mv /opt/dell/dcc /opt/dell/dcc_backup

更改目录后,我更新了系统的库缓存以反映更改:

sudo ldconfig

然而,我仍然遇到 SSL 问题。

检查我的/etc/ssl/openssl.cnf配置文件以检查是否存在冲突 - 没有发现。

所以我重新安装了 OpenSSL

sudo apt install --reinstall openssl

并更新了我的 SSL 证书存储

sudo update-ca-certificates

但仍然有错误并尝试了这个

sudo update-ca-certificates --fresh

完成所有这些后,我能够连接 Ubuntu Pro,并且 Waydroid 中不再出现 SSL 问题。我预计不会再出现我最终肯定会发现的更多 SSL 问题。

我确实必须重新安装 Waydroid 才能使其正常工作。幸运的是,这是我第一次使用它,所以我没有什么可失去的。回想起来,也许我可以停止并重新启动 Waydroid 服务。

希望分享此信息可以帮助其他人解决类似的问题......

答案1

通过重定向 OpenSSL 以使用 Ubuntu 的库、重新安装 OpenSSL 和 CA 证书以及更新 CA 证书,我解决了 SSL/TLS 连接问题。我简要介绍了以下步骤

如果您的问题如下 - 戴尔提供的 OpenSSL 库导致冲突:

openssl: /opt/dell/dcc/libcrypto.so.3: version `OPENSSL_3.0.3' not found (required by openssl)

解决方案似乎是:

-您应该删除或者重命名它们。

sudo mv /opt/dell/dcc /opt/dell/dcc_backup

-重定向 OpenSSL 以使用 Ubuntu 的库而不是 Dell 的库。

sudo ldconfig

-重新安装 OpenSSL 并更新 CA 证书

sudo apt install --reinstall openssl
sudo update-ca-certificates --fresh

相关内容