OpenSSL是一個強大的加密工具包,廣泛應用于Linux系統,包括Ubuntu。以下是在Ubuntu中使用OpenSSL的一些基本步驟:
更新軟件包列表:
sudo apt update
安裝OpenSSL:
sudo apt install openssl
生成RSA私鑰:
openssl genrsa -out rsa_key.pem 2048
這將生成一個名為rsa_key.pem
的2048位RSA私鑰文件。
從私鑰生成公鑰:
openssl rsa -in rsa_key.pem -pubout -out rsa_pub.pem
這將生成一個名為rsa_pub.pem
的公鑰文件。
創建一個配置文件(可選):
創建一個名為openssl.cnf
的文件,并根據需要進行配置。例如:
[ req ]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
C=US
ST=California
L=Mountain View
O=Example Company
OU=IT Department
CN=example.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com
生成自簽名證書:
openssl req -x509 -new -nodes -key rsa_key.pem -sha256 -days 365 -out certificate.crt -config openssl.cnf
這將生成一個名為certificate.crt
的自簽名證書文件。
查看證書詳細信息:
openssl x509 -in certificate.crt -text -noout
驗證證書鏈(如果有中間證書):
openssl verify -CAfile ca_cert.pem certificate.crt
使用AES-256-CBC加密文件:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
這將提示你輸入一個密碼,并生成一個名為encrypted.txt
的加密文件。
解密文件:
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
這將使用之前設置的密碼解密文件,并生成一個名為decrypted.txt
的解密文件。
啟動一個簡單的HTTPS服務器:
openssl s_server -www -cert certificate.crt -key rsa_key.pem
這將啟動一個監聽443端口的HTTPS服務器,使用你生成的證書和私鑰。
連接到HTTPS服務器:
打開瀏覽器并訪問https://localhost
,你應該能夠看到一個自簽名的證書警告。
openssl.cnf
文件中的配置。通過以上步驟,你可以在Ubuntu系統中使用OpenSSL進行各種加密和解密操作,以及生成和管理證書。