OpenSSL是一个强大的加密工具,可以在Linux系统中用于生成证书、密钥、签名等
#!/bin/bash
# 设置变量
domain="example.com"
email="admin@example.com"
output_dir="/etc/ssl/certs"
private_key_file="${output_dir}/${domain}.key"
certificate_file="${output_dir}/${domain}.crt"
certificate_signing_request_file="${output_dir}/${domain}.csr"
# 创建输出目录
mkdir -p "${output_dir}"
# 生成私钥
openssl genrsa -out "${private_key_file}" 2048
# 生成证书签名请求
openssl req -new -key "${private_key_file}" -out "${certificate_signing_request_file}" -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=${domain}" -addext "emailAddress=${email}"
# 生成自签名证书
openssl x509 -req -days 365 -in "${certificate_signing_request_file}" -signkey "${private_key_file}" -out "${certificate_file}"
# 输出证书信息
echo "Certificate for ${domain} has been generated."
echo "Private key file: ${private_key_file}"
echo "Certificate file: ${certificate_file}"
将此脚本保存为generate_ssl.sh,然后在终端中运行chmod +x generate_ssl.sh使其可执行。接下来,运行./generate_ssl.sh以生成证书和密钥。
请注意,这个脚本仅用于演示目的,实际生产环境中可能需要更复杂的配置。在生产环境中,您可能需要使用Let’s Encrypt或其他证书颁发机构来获取免费证书。