24 lines
647 B
Bash
24 lines
647 B
Bash
|
|
#!/bin/bash
|
|||
|
|
# 证书加密打包(参考 PineSoundServer encrypt-certs.sh)
|
|||
|
|
# 用途:微信/HTTPS 证书加密归档,不入库。
|
|||
|
|
set -euo pipefail
|
|||
|
|
|
|||
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|||
|
|
cd "$ROOT"
|
|||
|
|
|
|||
|
|
ENC_KEY="${ENC_KEY:-}"
|
|||
|
|
if [ -z "$ENC_KEY" ]; then
|
|||
|
|
echo "错误:请设置 ENC_KEY" >&2
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
CERT_DIR="serverdata/keys/certs"
|
|||
|
|
if [ ! -d "$CERT_DIR" ]; then
|
|||
|
|
echo "目录不存在:$CERT_DIR(先放置证书)" >&2
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
tar -czf - -C "$CERT_DIR" . | openssl enc -aes-256-cbc -pbkdf2 -salt \
|
|||
|
|
-out serverrun/certs.tar.gz.enc -pass pass:"$ENC_KEY"
|
|||
|
|
echo "已加密:serverrun/certs.tar.gz.enc"
|