一、你只需要准备 2 个信息
证书 SHA1 指纹(40 位十六进制)和公司英文名,指纹获取方法如下:
你需要在 Windows 装 SimplySign Desktop,登录后:
托盘右键 → Manage certificates → Certificate list
双击证书 → 看到 SHA1 指纹(40 位十六进制)
复制下来,类似:
51959036913d91b4317c4b6520e5956e1
二、一键部署(全程复制粘贴,无任何中文)
1. 创建工作目录
bash
运行
mkdir -p /docker/sign && cd /docker/sign
2. 创建 Dockerfile(纯英文无乱码)
dockerfile
FROM alpine:latest
RUN apk add --no-cache osslsigncode inotify-tools bsdtar bash tzdata
WORKDIR /app
ENV TZ=UTC
COPY run.sh /app/run.sh
RUN chmod +x /app/run.sh
ENTRYPOINT ["/app/run.sh"]
3. 创建 run.sh 核心脚本(纯英文)
bash
运行
#!/bin/bash
set -euo pipefail
CERT_SHA1="YOUR_CERT_SHA1" (修改指纹)
COMPANY="YOUR_COMPANY_NAME" (修改公司英文名)
TS_URL="https://time.certum.pl/"
UNSIGN="/data/unsign"
SIGNED="/data/signed"
CAB="/data/cab"
mkdir -p $UNSIGN $SIGNED $CAB
sign() {
local src="$1"
local name=$(basename "$src")
local out="$SIGNED/$name"
osslsigncode sign -h sha256 -sha1 "$CERT_SHA1" -ts "$TS_URL" -n "$COMPANY" "$src" -o "$out"
echo "Signed: $name"
}
batch_sign() {
for f in $UNSIGN/*.sys $UNSIGN/*.cat $UNSIGN/*.inf; do
[ -f "$f" ] && sign "$f"
done
}
watch() {
inotifywait -m -e close_write -e create "$UNSIGN" | while read dir ev file; do
if [[ "$file" =~ .(sys|cat|inf)$ ]]; then
sleep 0.5
sign "$dir/$file"
fi
done
}
cab() {
local cabfile="$CAB/driver_$(date +%Y%m%d).cab"
cd "$SIGNED"
bsdtar -cf "$cabfile" --format=cab ./*
echo "CAB created: $cabfile"
}
case "${1:-}" in
watch) batch_sign && watch ;;
cab) cab ;;
*) batch_sign ;;
esac
4. 构建镜像
bash
运行
docker build -t certum-signer .
三、3 条命令实现全自动化
1. 后台自动监听 + 自动签名(推荐)
bash
运行
docker run -d
--restart always
-v /data/unsign:/data/unsign
-v /data/signed:/data/signed
-v /data/cab:/data/cab
-e CERT_SHA1="你的SHA1指纹"
-e COMPANY="你的公司英文名"
certum-signer watch
2. 手动批量签名一次
bash
运行
docker run --rm
-v /data/unsign:/data/unsign
-v /data/signed:/data/signed
-e CERT_SHA1="你的SHA1指纹"
-e COMPANY="你的公司英文名"
certum-signer
3. 一键打包 WHQL 标准 CAB
bash
运行
docker run --rm
-v /data/signed:/data/signed
-v /data/cab:/data/cab
certum-signer cab
四、目录结构(直接丢文件即可)
plaintext
/data/unsign ← 放未签名 sys/cat/inf
/data/signed ← 自动输出签名后文件
/data/cab ← 自动输出 WHQL CAB
微软收紧账户审核(周期约 1 个月),且云端证书需通过 Si
HLKX 报告是 Windows 硬件认证(WHQL)的测试…
一、你只需要准备 2 个信息证书 SHA1 指纹(40 位十
证书签发后,下载证书压缩包,解压压缩包里有5个文件夹,分别是
如果客户机使用的是集成式环境如:宝塔、nginx(linux