#!/bin/bash
|
# Report the local code signing identity that package-app.sh will use.
|
|
set -euo pipefail
|
|
PREFERRED_IDENTITY="Aligner Local Code Signing"
|
REQUESTED_IDENTITY="${ALIGNER_CODE_SIGN_IDENTITY:-}"
|
IDENTITIES="$(security find-identity -v -p codesigning 2>/dev/null || true)"
|
|
if [ -n "$REQUESTED_IDENTITY" ]; then
|
SELECTED_IDENTITY="$REQUESTED_IDENTITY"
|
SELECTION_REASON="ALIGNER_CODE_SIGN_IDENTITY"
|
elif echo "$IDENTITIES" | grep -Fq "\"$PREFERRED_IDENTITY\""; then
|
SELECTED_IDENTITY="$PREFERRED_IDENTITY"
|
SELECTION_REASON="preferred project identity"
|
else
|
SELECTED_IDENTITY="$(echo "$IDENTITIES" | sed -n 's/.*"\([^"]*Local Code Signing\)".*/\1/p' | head -n 1)"
|
SELECTION_REASON="fallback local identity"
|
fi
|
|
echo "Signing identity check"
|
|
if [ -z "$SELECTED_IDENTITY" ]; then
|
echo " selected: ad-hoc"
|
echo " risk: TCC permissions may reset after rebuilds"
|
exit 0
|
fi
|
|
if ! echo "$IDENTITIES" | grep -Fq "\"$SELECTED_IDENTITY\""; then
|
echo " selected: $SELECTED_IDENTITY"
|
echo " error: selected identity is not available in this keychain" >&2
|
exit 1
|
fi
|
|
echo " selected: $SELECTED_IDENTITY"
|
echo " reason: $SELECTION_REASON"
|
|
if [ "$SELECTED_IDENTITY" != "$PREFERRED_IDENTITY" ]; then
|
echo " warning: preferred project identity '$PREFERRED_IDENTITY' is not active"
|
fi
|