温馨提示×

OpenSSL如何安装设置

小樊
39
2025-12-20 14:20:25
栏目: 云计算

OpenSSL安装与设置指南

Windows安装与设置

  • 下载安装包:从OpenSSL官网GitHub Releases获取适用于Windows x64/x86的安装包(.exe),选择与系统位数匹配的版本。
  • 安装步骤:双击安装包,按向导选择安装目录(建议非系统盘),完成后记录安装目录的bin路径。
  • 环境变量:系统属性 → 高级系统设置 → 环境变量 → 系统变量Path → 新建,加入“安装目录\bin”。
  • 验证:新开命令行执行openssl version -a,应显示版本与目录信息。
  • 提示:若命令仍不可用,重启终端或注销/登录以刷新环境变量。

Linux发行版安装

  • 使用包管理器(推荐):
    • Debian/Ubuntu:sudo apt update && sudo apt install openssl
    • CentOS/RHEL:sudo yum install openssl
    • openSUSE:sudo zypper install openssl
  • 验证:执行openssl version,确认已安装并可调用。

Linux源码编译安装与系统整合

  • 准备与依赖:
    • 下载源码:wget https://www.openssl.org/source/openssl-VERSION.tar.gz
    • 解压:tar -xzf openssl-VERSION.tar.gz && cd openssl-VERSION
    • 安装编译依赖(按需):gcc、make、zlib、zlib-devel 等
  • 配置与编译安装:
    • 配置:./config --prefix=/usr/local/openssl shared zlib
    • 编译与安装:make && sudo make install
  • 系统与库整合:
    • 动态库缓存:echo “/usr/local/openssl/lib” | sudo tee /etc/ld.so.conf.d/openssl.conf && sudo ldconfig
    • 可执行文件链接:sudo ln -sfn /usr/local/openssl/bin/openssl /usr/bin/openssl
    • 头文件链接(可选):sudo ln -sfn /usr/local/openssl/include/openssl /usr/include/openssl
  • 验证:执行openssl version -a,确认指向**/usr/local/openssl**。

基本配置与证书操作

  • 配置文件:主配置文件为openssl.cnf,位于**–openssldir**指定目录;用于证书签发、CA与扩展等策略管理。
  • 生成私钥:openssl genpkey -algorithm RSA -out server.key -aes256
  • 生成CSR: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
    • 验证证书:openssl verify server.crt
  • 说明:生产环境建议使用受信任CA(如Let’s Encrypt)签发证书。

在Nginx或Apache中启用HTTPS

  • Nginx示例:
    • 配置片段:
      • listen 443 ssl;
      • ssl_certificate /path/to/server.crt;
      • ssl_certificate_key /path/to/server.key;
      • ssl_protocols TLSv1.2 TLSv1.3;
      • ssl_ciphers HIGH:!aNULL:!MD5;
    • 生效:sudo systemctl restart nginx
  • Apache示例:
    • 启用模块:sudo a2enmod ssl
    • 配置SSL虚拟主机(SSLCertificateFile/SSLCertificateKeyFile指向证书与私钥)
    • 生效:sudo systemctl restart apache2
  • 客户端证书验证(可选):在Nginx中增加
    • ssl_client_certificate /path/to/ca.crt;
    • ssl_verify_client on;
  • 测试:浏览器访问域名或命令行使用curl测试握手与证书链。

0