Skip to content

Commit 8ae51d2

Browse files
claudedeviantintegral
authored andcommitted
ci: use local GPG key for infection signature verification
Import the Infection PHP public key from a local file instead of downloading from keyservers, which may be blocked in restricted network environments.
1 parent 8998321 commit 8ae51d2

File tree

2 files changed

+55
-1
lines changed

2 files changed

+55
-1
lines changed

.claude/hooks/SessionStart.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ if [ ! -f "infection.phar" ]; then
7676

7777
# Validate Infection PHAR with GPG
7878
echo "Validating infection signature..."
79-
gpg --keyserver hkps://keys.openpgp.org --recv-keys C6D76C329EBADE2FB9C458CFC5095986493B4AA0
79+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
80+
gpg --import "$SCRIPT_DIR/infection-public-key.asc"
8081
gpg --with-fingerprint --verify infection.phar.asc infection.phar
8182

8283
if [ $? -ne 0 ]; then
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
Comment: C6D7 6C32 9EBA DE2F B9C4 58CF C509 5986 493B 4AA0
3+
Comment: Infection PHP <[email protected]>
4+
5+
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
52+
=i/8n
53+
-----END PGP PUBLIC KEY BLOCK-----

0 commit comments

Comments
 (0)