openssl 是一個強大的加密工具包,它提供了很多命令行工具來執行各種加密任務,比如生成密鑰對、創建和管理證書、加密和解密數據等。以下是一些常用的 openssl 命令及其用法:
生成RSA私鑰:
openssl genrsa -out private.key 2048
這條命令會生成一個2048位的RSA私鑰,并將其保存在 private.key 文件中。
生成公鑰:
openssl rsa -in private.key -pubout -out public.key
這條命令會從私鑰 private.key 中提取公鑰,并將其保存在 public.key 文件中。
生成自簽名證書:
openssl req -new -x509 -days 365 -key private.key -out certificate.crt
這條命令會生成一個自簽名的X.509證書,有效期為365天,并將其保存在 certificate.crt 文件中。在執行此命令時,系統會提示你輸入一些信息,如國家、組織名稱等。
加密文件:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
這條命令會使用AES-256-CBC算法加密 plaintext.txt 文件,并將加密后的內容保存到 encrypted.txt 文件中。在執行此命令時,系統會提示你輸入一個密碼。
解密文件:
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
這條命令會使用相同的AES-256-CBC算法解密 encrypted.txt 文件,并將解密后的內容保存到 decrypted.txt 文件中。在執行此命令時,系統會提示你輸入之前加密時使用的密碼。
查看證書信息:
openssl x509 -in certificate.crt -text -noout
這條命令會顯示證書 certificate.crt 的詳細信息。
創建PKCS#12格式的文件:
openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt
這條命令會將私鑰和證書打包成一個PKCS#12格式的文件 certificate.p12。
從PKCS#12文件中提取證書:
openssl pkcs12 -in certificate.p12 -clcerts -nokeys -out certificate.crt
這條命令會從PKCS#12文件 certificate.p12 中提取證書,并將其保存到 certificate.crt 文件中。
從PKCS#12文件中提取私鑰:
openssl pkcs12 -in certificate.p12 -nocerts -out private.key
這條命令會從PKCS#12文件 certificate.p12 中提取私鑰,并將其保存到 private.key 文件中。
這些只是 openssl 命令的一部分功能。openssl 是一個非常強大的工具,可以執行許多其他加密任務。在使用 openssl 命令時,建議查閱官方文檔或使用 openssl help 命令來獲取更多信息。