OpenSSL是一个强大的工具,广泛用于加密、解密、签名和验证数字证书等任务。以下是使用OpenSSL进行密钥管理的一些基本步骤:
生成RSA私钥:
openssl genrsa -out private_key.pem 2048
这将生成一个2048位的RSA私钥,并保存在private_key.pem文件中。
从私钥生成公钥:
openssl rsa -in private_key.pem -pubout -out public_key.pem
这将从私钥生成对应的公钥,并保存在public_key.pem文件中。
生成CSR:
openssl req -new -key private_key.pem -out certificate_signing_request.csr
这将提示你输入一些信息(如国家、组织名称等),并生成一个CSR文件。
自签名证书(仅用于测试):
openssl x509 -req -days 365 -in certificate_signing_request.csr -signkey private_key.pem -out certificate.pem
这将生成一个自签名的X.509证书,并保存在certificate.pem文件中。
openssl verify -CAfile ca_certificate.pem certificate.pem
这将使用CA证书(ca_certificate.pem)来验证目标证书(certificate.pem)的有效性。导出私钥:
openssl rsa -in private_key.pem -outform DER -out private_key.der
这将把私钥导出为DER格式。
导入私钥:
openssl rsa -in private_key.der -outform PEM -out private_key.pem
这将从DER格式导入私钥,并保存为PEM格式。
导出证书:
openssl x509 -in certificate.pem -outform DER -out certificate.der
这将把证书导出为DER格式。
导入证书:
openssl x509 -in certificate.der -outform PEM -out certificate.pem
这将从DER格式导入证书,并保存为PEM格式。
cat server_certificate.pem intermediate_certificate.pem root_certificate.pem > fullchain.pem
加密文件:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt -pass pass:your_password
这将使用AES-256-CBC算法加密文件,并保存为encrypted.txt。
解密文件:
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt -pass pass:your_password
这将使用相同的密码解密文件,并保存为decrypted.txt。
通过这些步骤,你可以有效地使用OpenSSL进行密钥和证书的管理。根据具体需求,你可能还需要进行更多的配置和调整。