fix(release): isolate signing material from the preflight compiler
This commit is contained in:
1 parent
823ba44d78
commit
7d424f059e
2 files changed
+6
-2
No files matched your search
+1
-1
@@ -52,7 +52,7 @@ CI 复用已有四项 Secrets:
|
||||
|
||||
旧仓库内其他身份/指纹 Secrets 不作为可信预期来源。公钥位于 `scripts/release/updater.pub`,从原发布配置原样迁移,不生成新密钥。
|
||||
|
||||
编译步骤没有上述 Secret 环境变量;编译完成后临时导入固定证书,签署 App,随后仅独立 signer 接收更新私钥。退出时删除临时签名 Keychain。
|
||||
编译前先在临时小型 bundle 上预检证书、私钥与指定要求;预检编译器同样不接收签名材料。编译步骤没有上述 Secret 环境变量;编译完成后临时导入固定证书,签署 App,随后仅独立 signer 接收更新私钥。退出时删除临时签名 Keychain。
|
||||
|
||||
发布硬门禁包含 deep/strict 验证、Authority、Info.plist、封印资源、指定要求;并解开 tar.gz、挂载 DMG 验证容器内的 App。签名失败、ad-hoc 或证书变化都阻止发布。Mac 包非 Apple 公证,首次安装需“隐私与安全性 → 仍要打开”,随后录屏授权并重启应用。
|
||||
|
||||
|
||||
@@ -15,7 +15,11 @@ trap cleanup EXIT
|
||||
KEYCHAIN="$("$ROOT_DIR/scripts/macos/import-certificate.sh")"
|
||||
APP_PATH="$WORK_DIR/TTREE.app"
|
||||
mkdir -p "$APP_PATH/Contents/MacOS" "$APP_PATH/Contents/Resources"
|
||||
printf 'int main(void) { return 0; }\n' | xcrun clang -x c -o "$APP_PATH/Contents/MacOS/ttree" -
|
||||
printf 'int main(void) { return 0; }\n' |
|
||||
env -u MACOS_COMMUNITY_CERTIFICATE -u MACOS_COMMUNITY_CERTIFICATE_PASSWORD \
|
||||
-u TAURI_SIGNING_PRIVATE_KEY -u TAURI_SIGNING_PRIVATE_KEY_PASSWORD -u TAURI_SIGNING_PRIVATE_KEY_PATH \
|
||||
-u TAURI_PRIVATE_KEY -u TAURI_PRIVATE_KEY_PASSWORD -u TAURI_PRIVATE_KEY_PATH \
|
||||
xcrun clang -x c -o "$APP_PATH/Contents/MacOS/ttree" -
|
||||
cp "$ROOT_DIR/assets/icons/status-template.png" "$APP_PATH/Contents/Resources/glyph.png"
|
||||
cat > "$APP_PATH/Contents/Info.plist" <<'PLIST'
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
Reference in new issue
Block a user