OpenSSL是一个功能强大的命令行工具,用于加密、解密、签名和验证操作。以下是一些常用的OpenSSL命令行使用技巧:
生成密钥对
- 生成RSA私钥:
openssl genrsa -out private.key 2048
- 从私钥中提取公钥:
openssl rsa -in private.key -pubout -out public.key
创建证书签名请求(CSR)
- 生成CSR:
openssl req -new -key private.key -out csr.csr
生成自签名证书
- 生成自签名证书:
openssl req -x509 -newkey rsa:2048 -keyout private.key -out certificate.crt -days 365
加密和解密文件
- 对称加密(例如,使用AES-256-CBC算法):
openssl enc -aes-256-cbc -in plaintext.txt -out encrypted.txt -k secretkey
- 对称解密:
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt -k secretkey
计算文件摘要
- 计算MD5摘要:
openssl dgst -md5 file.txt
签名和验证文件
- 使用私钥对文件进行签名:
openssl dgst -sha256 -sign private.key -out signature.bin file.txt
- 验证签名:
openssl dgst -sha256 -verify public.key -signature signature.bin file.txt
运行SSL/TLS连接测试
- 测试与远程服务器的SSL/TLS连接:
openssl s_client -connect example.com:443
证书管理
- 查看证书内容:
openssl x509 -in certificate.crt -text -noout
- 转换证书格式:
openssl x509 -outform der -in certificate.pem -out certificate.der
这些命令只是OpenSSL功能的一部分,更多高级用法可以通过查阅OpenSSL手册或在线资源来学习。