在 Linux 上配置 OpenSSL 通常涉及 安装、编译、系统路径、证书、库文件 及 应用程序调用 几个层面。下面按常见使用场景给你一份实用配置指南。
openssl version
常见输出:
OpenSSL 1.1.1f 31 Mar 2020
sudo apt update
sudo apt install openssl libssl-dev
sudo yum install openssl openssl-devel
# 或(新版本)
sudo dnf install openssl openssl-devel
适用于需要新特性或修复 CVE 的场景
cd /usr/local/src
wget https://github.com/openssl/openssl/releases/download/openssl-3.2.1/openssl-3.2.1.tar.gz
tar -zxvf openssl-3.2.1.tar.gz
cd openssl-3.2.1
./Configure --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make -j$(nproc)
sudo make install
echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
sudo ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
验证:
openssl version
/etc/ssl/openssl.cnf
# 或
/usr/local/openssl/openssl.cnf
openssl version -d
[ CA_default ]
dir = /etc/ssl
certs = $dir/certs
crl_dir = $dir/crl
new_certs_dir = $dir/newcerts
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr \
-signkey server.key -out server.crt
openssl x509 -in server.crt -text -noout
sudo cp your-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
sudo cp your-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH
./configure --with-openssl=/usr/local/openssl
| 问题 | 解决方案 |
|---|---|
| openssl:command not found | 安装 openssl |
| 版本不生效 | ldconfig / 检查 PATH |
| 程序仍用旧库 | ldd 查看依赖 |
| 证书不受信任 | update-ca-certificates |
查看动态库依赖:
ldd $(which openssl)
如果你有更具体的需求(比如 Nginx / Apache / MySQL / Docker / 交叉编译 / 国密),告诉我,我可以给你针对性的配置方案。