OpenSSL是一个强大的加密工具包,它提供了许多命令行工具来执行各种加密任务。以下是一些常用的OpenSSL命令行工具及其用法:
openssl version 这个命令会显示你安装的OpenSSL版本。
openssl req 这个命令用于生成证书签名请求(CSR)和自签名证书。例如:
openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
这个命令会生成一个新的2048位的RSA私钥(mydomain.key)和一个证书签名请求(mydomain.csr)。
openssl x509 这个命令用于生成自签名证书或者查看证书信息。例如:
openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt
这个命令会使用mydomain.key私钥签署mydomain.csr证书签名请求,并生成一个有效期为365天的自签名证书mydomain.crt。
openssl s_client 这个命令用于测试SSL/TLS连接。例如:
openssl s_client -connect www.example.com:443
这个命令会连接到www.example.com的443端口,并显示SSL/TLS握手过程的详细信息。
openssl s_server 这个命令用于启动一个SSL/TLS服务器。例如:
openssl s_server -www -port 443 -cert mydomain.crt -key mydomain.key
这个命令会启动一个监听在443端口的SSL/TLS服务器,使用mydomain.crt证书和mydomain.key私钥。
openssl enc 这个命令用于加密和解密文件。例如:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
这个命令会使用AES-256-CBC算法加密plaintext.txt文件,并将结果保存到encrypted.txt文件中。
openssl dgst 这个命令用于计算文件的哈希值。例如:
openssl dgst -sha256 file.txt
这个命令会计算file.txt文件的SHA-256哈希值。
这只是OpenSSL命令行工具的一部分功能,更多功能和选项可以通过阅读官方文档或使用openssl help
命令来获取。