You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Implement GPG-encrypted PEM key workflow for Chrome CRX signing
- Add blog-link-analyzer.pem.gpg (encrypted private key) to repository
- Update CI/CD workflow to decrypt GPG-encrypted PEM file using GitHub Secret
- Install GPG in pipeline for key decryption
- Add secure cleanup of decrypted key file after use
- Update deployment script to use CRX files instead of ZIP for Chrome Web Store
- Integrate Chrome Web Store API v2 with proper OAuth2 flow
This enables secure Chrome extension signing with encrypted key storage
while maintaining compliance with Chrome Web Store Verified CRX Uploads.
Security improvements:
- Encrypted PEM file stored in repository
- Decryption key stored separately in GitHub Secrets
- Secure cleanup of temporary decrypted key
- Defense-in-depth security model
if [ -f "blog-link-analyzer-${VERSION}.zip" ]; then
219
-
echo "✅ ZIP file created and versioned"
220
-
ls -la blog-link-analyzer-${VERSION}.zip
239
+
# Verify CRX file exists with version number
240
+
if [ -f "blog-link-analyzer-${VERSION}.crx" ]; then
241
+
echo "✅ CRX file created and versioned"
242
+
ls -la blog-link-analyzer-${VERSION}.crx
221
243
else
222
-
echo "❌ ZIP file not found - Chrome Web Store deployment will fail"
223
-
echo "Available ZIP files:"
224
-
find . -name "*.zip" -type f -exec ls -la {} \;
244
+
echo "❌ CRX file not found - Chrome Web Store deployment will fail"
245
+
echo "Available CRX files:"
246
+
find . -name "*.crx" -type f -exec ls -la {} \;
225
247
exit 1
226
248
fi
227
249
228
250
echo "✅ Artifacts built with version ${VERSION}"
229
251
echo "📋 Available artifacts:"
230
-
ls -la blog-link-analyzer-${VERSION}.zip blog-link-analyzer-firefox-${VERSION}.xpi 2>/dev/null || echo "Some artifacts may be missing"
252
+
ls -la blog-link-analyzer-${VERSION}.zip blog-link-analyzer-${VERSION}.crx blog-link-analyzer-firefox-${VERSION}.xpi 2>/dev/null || echo "Some artifacts may be missing"
231
253
232
-
# Ensure ZIP file exists for Chrome deployment
233
-
if [ ! -f "blog-link-analyzer-${VERSION}.zip" ]; then
234
-
echo "❌ Chrome ZIP file not found - deployment cannot continue"
254
+
# Ensure CRX file exists for Chrome deployment
255
+
if [ ! -f "blog-link-analyzer-${VERSION}.crx" ]; then
256
+
echo "❌ Chrome CRX file not found - deployment cannot continue"
0 commit comments