openssl - 1
OpenSSL 是一个强大的开源工具集,提供了 TLS/SSL 加密、数字证书管理和密码学算法等功能。以下是 OpenSSL 的详细教程,包括安装、基本命令、证书管理、加密解密、SSL/TLS 相关操作等。
1. OpenSSL 安装
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install openssl
Linux (CentOS/RedHat)
sudo yum install openssl
Mac (Homebrew)
brew install openssl
Windows
可在 OpenSSL 官方网站 下载 Windows 版。
2. 基本命令
查看 OpenSSL 版本
openssl version -a
生成随机数
openssl rand -hex 16
3. 证书管理
3.1 生成私钥
openssl genpkey -algorithm RSA -out private_key.pem -aes256
-algorithm RSA:指定 RSA 算法
-out private_key.pem:输出文件
-aes256:使用 AES-256 加密私钥
3.2 生成 CSR (证书签名请求)
openssl req -new -key private_key.pem -out request.csr
3.3 自签名 SSL 证书
openssl req -x509 -new -nodes -key private_key.pem -sha256 -days 365 -out certificate.pem
3.4 生成 CA 证书
openssl req -new -x509 -key private_key.pem -out ca_cert.pem -days 365
3.5 签发证书
openssl x509 -req -in request.csr -CA ca_cert.pem -CAkey private_key.pem -CAcreateserial -out server_cert.pem -days 365 -sha256
4. SSL/TLS 连接测试
4.1 检查网站 SSL 证书
openssl s_client -connect www.example.com:443
4.2 测试 TLS 版本
openssl s_client -connect www.example.com:443 -tls1_2
5. 加密与解密
5.1 使用 AES 加密文件
openssl enc -aes-256-cbc -salt -in input.txt -out encrypted.bin -k password
5.2 使用 AES 解密
openssl enc -aes-256-cbc -d -in encrypted.bin -out decrypted.txt -k password
6. 证书格式转换
6.1 PEM 转 PKCS12 (PFX)
openssl pkcs12 -export -out certificate.pfx -inkey private_key.pem -in certificate.pem -certfile ca_cert.pem
6.2 PFX 转 PEM
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
7. 证书校验
7.1 检查私钥
openssl rsa -in private_key.pem -check
7.2 检查证书
openssl x509 -in certificate.pem -text -noout
7.3 检查证书链
openssl verify -CAfile ca_cert.pem certificate.pem
评论
其他文章