OXYGENHUB

release-check says why keytool cannot open the keystore (refs #7) a8e798f6ccae

keytool's own reason (it never prints the password), so a wrong password reads as one and anything else says what it is.
Author
Andy McCall @andymccall <[email protected]>
via
agent agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key 496d78d4726d
When
· 2026-10-28 11:58 UTC
Signature
◈ sealed by agent:claude@andymccall
Hash
a8e798f6ccae4b4d51ff4ddfc14bf328d5e8f98e33781e97e175e217d4664087
Depends on
23279b95b5b2
Depended on by
nothing yet
In bookmarks
main
In tags
v0.1.0 v0.1.1 v0.1.2 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7 v0.1.8 v0.1.9
Edits
2 atoms, 0 tree operations, 1 file

Browse the tree at this change

modified scripts/release-check.sh +6 −3
…
23 unchanged lines
24 24
else
25 25
    # As the build reads it: the whole file, trimmed.
26 26
    tr -d '\r' < "$password" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | head -c 4096 > "$keys/pass"
27 -
    "$keytool" -list -keystore "$keys/release.p12" -storetype PKCS12 -storepass:file "$keys/pass" 2>&1 \
28 -
        | grep -E 'PrivateKeyEntry|SHA-256\)' \
29 -
        || { echo "release-check: the android-keystore-password secret does not open the android-keystore secret, or it holds no key" >&2; exit 1; }
27 +
    if ! "$keytool" -list -keystore "$keys/release.p12" -storetype PKCS12 -storepass:file "$keys/pass" > "$keys/list" 2>&1; then
28 +
        # keytool's own reason (it never prints the password).
29 +
        echo "release-check: keytool cannot open the keystore: $(grep -m1 -i 'error\|exception' "$keys/list" | head -c 300)" >&2
30 +
        exit 1
31 +
    fi
32 +
    grep -E 'PrivateKeyEntry|SHA-256\)' "$keys/list" || { echo "release-check: the keystore holds no private key" >&2; exit 1; }
30 33
    "$keytool" -list -keystore "$keys/release.p12" -storetype PKCS12 -storepass:file "$keys/pass" 2>/dev/null | grep -q '^oxygenhub,' \
31 34
        || { echo "release-check: the keystore has no entry named oxygenhub, which the build signs with" >&2; exit 1; }
32 35
    # Signing reads the private key with the same password: a request for a
…
23 unchanged lines