Let’s Encrypt 是一个非常安全且值得信赖的证书颁发机构(CA)。
它提供的 SSL/TLS 证书在技术上与商业证书(如 DigiCert, GeoTrust, Sectigo 等)提供的加密强度完全相同。它们都遵循相同的行业标准(X.509标准),提供相同的加密级别(例如 RSA 或 ECC 密钥)。
# 更新证书
~/.acme.sh/acme.sh –renew -d free-ai.top –force
# 申请证书(Linux acme.sh)
acme.sh –issue –dns dns_ali -d free-ai.top –server letsencrypt
acme.sh –install-cert -d free-ai.top \
–key-file /home/aliketen/docker-compose-app/nginx/certs/free-ai.top_ssl.key \
–fullchain-file //home/aliketen/docker-compose-app/nginx/certs/free-ai.top_ssl.crt \
–reloadcmd “docker restart nginx-ds”
# 切换到证书目录
cd ~/.acme.sh/free-ai.top
# 生成 Windows/IIS 兼容 PFX
openssl pkcs12 -export \
-out www.xxx.com_ssl_compat.pfx \
-inkey www.xxx.com.key \
-in www.xxx.com.cer \
-certfile ca.cer \
-passout pass:free-ai.top \
-keypbe PBE-SHA1-3DES \
-certpbe PBE-SHA1-3DES \
-macalg SHA1 \
-nomaciter
# 使用脚本生成
sudo mkdir -p ./scripts/
sudo vi gen_pfx.sh
#!/bin/bash # PFX 密码 PASSWORD="free-ai.top" # 如果没有传参数,则提示 if [ $# -lt 1 ]; then echo "用法: $0 域名1 [域名2 ...]" exit 1 fi # 遍历所有域名 for DOMAIN in "$@"; do CERT_DIR="$HOME/.acme.sh/$DOMAIN" PFX_OUT="$CERT_DIR/${DOMAIN}_ssl_compat.pfx" # 检查证书和私钥是否存在 if [ ! -f "$CERT_DIR/$DOMAIN.cer" ] || [ ! -f "$CERT_DIR/$DOMAIN.key" ] || [ ! -f "$CERT_DIR/ca.cer" ]; then echo "域名 $DOMAIN 的证书或私钥不存在,跳过" continue fi echo "正在生成 Windows IIS 兼容 PFX: $DOMAIN" openssl pkcs12 -export \ -out "$PFX_OUT" \ -inkey "$CERT_DIR/$DOMAIN.key" \ -in "$CERT_DIR/$DOMAIN.cer" \ -certfile "$CERT_DIR/ca.cer" \ -passout pass:$PASSWORD \ -keypbe PBE-SHA1-3DES \ -certpbe PBE-SHA1-3DES \ -macalg SHA1 \ -nomaciter if [ $? -eq 0 ]; then echo "PFX 生成成功: $PFX_OUT" else echo "PFX 生成失败: $DOMAIN" fi donesudo chmod +x gen_pfx.sh
/home/aliketen/scripts/gen_pfx.sh free-ai.top