学习 Linux 下 OpenSSL 可以分为「概念理解 → 命令实践 → 编程使用 → 安全进阶」几个阶段。下面给你一个比较系统的学习路线。
OpenSSL 主要做三件事:
在 Linux 上通常先用命令行入门,再学编程接口。
# Debian / Ubuntu
sudo apt update
sudo apt install openssl libssl-dev
# CentOS / Rocky / Alma
sudo yum install openssl openssl-devel
查看版本:
openssl version
# 加密
openssl enc -aes-256-cbc -salt -in file.txt -out file.enc
# 解密
openssl enc -d -aes-256-cbc -in file.enc -out file.txt
openssl dgst -sha256 file.txt
# RSA 私钥
openssl genrsa -out rsa.key 2048
# 查看私钥
openssl rsa -in rsa.key -text -noout
# 生成私钥 + 自签证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
openssl req -new -key rsa.key -out req.csr
openssl x509 -in cert.pem -text -noout
推荐阅读:
openssl s_server -www -cert cert.pem -key key.pem
浏览器访问:
https://localhost:4433
openssl s_client -connect example.com:443
如果你写代码:
SSL_CTXSSL_connectSSL_read / SSL_write示例方向:
ssl, cryptographycrypto/tlsjavax.net.sslman openssl如果你愿意,我可以:
你更想学哪一块?