以下是OpenSSL在Debian中的使用技巧:
一、安装与配置
-
快速安装
使用APT包管理器安装OpenSSL及开发库:sudo apt update && sudo apt install openssl libssl-dev验证安装:
openssl version。 -
源码编译安装(需特定版本)
下载源码后编译:wget https://www.openssl.org/source/openssl-版本号.tar.gz tar -xzvf openssl-版本号.tar.gz cd openssl-版本号 ./config shared zlib make && sudo make install sudo ldconfig ```。
二、核心功能操作
1. 证书与密钥管理
-
生成RSA密钥对
openssl genpkey -algorithm RSA -out private.key -aes256 # 私钥(加密存储) openssl rsa -in private.key -pubout -out public.key # 提取公钥 ```。 -
生成自签名证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes(
-nodes表示不加密私钥)。 -
查看证书信息
openssl x509 -in cert.pem -text -noout ```。
2. 数据加密/解密
-
对称加密(AES-256-CBC)
- 加密:
echo "敏感数据" | openssl enc -aes-256-cbc -a -salt -pass pass:密码 -out encrypted.enc - 解密:
openssl enc -d -aes-256-cbc -a -pass pass:密码 -in encrypted.enc -out decrypted.txt ```。
- 加密:
-
非对称加密(RSA)
- 公钥加密:
echo "数据" | openssl rsautl -encrypt -inkey public.key -pubin -out encrypted.bin - 私钥解密:
openssl rsautl -decrypt -inkey private.key -in encrypted.bin -out decrypted.txt ```。
- 公钥加密:
3. 哈希与签名
-
生成文件哈希
openssl dgst -sha256 file.txt ```。 -
数字签名
- 生成签名:
echo "数据" | openssl dgst -sha256 -sign private.key -out signature.bin - 验证签名:
openssl dgst -sha256 -verify public.key -signature signature.bin file.txt ```。
- 生成签名:
三、高级技巧
-
配置SSL/TLS服务器
- 生成证书后,配置Nginx/Apache使用SSL:
# Nginx示例(编辑/etc/nginx/sites-available/default-ssl.conf) ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/private.key;重启服务:
sudo systemctl restart nginx。
- 生成证书后,配置Nginx/Apache使用SSL:
-
安全优化
- 使用强密码生成密钥:
openssl genrsa -aes256 -passout pass:强密码 -out private.key。 - 限制证书权限:
chmod 600 private.key。
- 使用强密码生成密钥:
-
调试与排查
- 查看支持的加密算法:
openssl list -cipher-commands。 - 调试SSL连接:
openssl s_client -connect example.com:443 -showcerts。
- 查看支持的加密算法:
四、注意事项
- 避免使用过时算法(如MD5、SHA1),优先选择AES-256、SHA-256等强算法。
- 定期更新OpenSSL以修复安全漏洞:
sudo apt upgrade openssl。 - 敏感操作(如私钥生成)建议在安全环境中执行,避免泄露密钥。
以上技巧覆盖日常加密、证书管理及服务器配置需求,更多命令可参考man openssl或官方文档。