#!/usr/bin/env bash # create_cert.sh — creates a local self-signed Mac code-signing certificate # Run once. Requires no Apple Developer account. set -euo pipefail CERT_NAME="${1:-"Local Mac Developer"}" KEYCHAIN_NAME="build.keychain" KEYCHAIN_PASS="keychain_pass" # change this P12_PASS="p12_pass" # change this echo "==> Creating build keychain: $KEYCHAIN_NAME" security delete-keychain "$KEYCHAIN_NAME" 2>/dev/null || true security create-keychain -p "$KEYCHAIN_PASS" "$KEYCHAIN_NAME" 2>/dev/null || true security set-keychain-settings -lut 21600 "$KEYCHAIN_NAME" # lock after 6 h security unlock-keychain -p "$KEYCHAIN_PASS" "$KEYCHAIN_NAME" # Add to keychain search list so tools can find it security list-keychains -d user -s "$KEYCHAIN_NAME" $(security list-keychains -d user | tr -d '"') echo "==> Generating self-signed certificate: '$CERT_NAME'" # Use Keychain Access UI approach (most reliable for self-signed) cat >/tmp/cert_req.cfg <