This repository tests keyless code signing with Witness using:
- Fulcio - Certificate authority for code signing certificates based on OIDC identity
- TSA - Timestamp Authority for RFC 3161 timestamps
The GitHub Actions workflow in .github/workflows/test-witness-signing.yaml:
- Installs the witness CLI
- Creates a test artifact
- Runs witness with keyless signing configured to use:
- GitHub Actions OIDC token as identity
- Fulcio instance at
https://fulcio.testifysec-demo.xyzfor certificates - TSA instance at
https://tsa.testifysec-demo.xyzfor timestamps
- Uploads the generated attestation as a workflow artifact
This test validates the Judge platform deployment with:
- GitHub Actions OIDC issuer configured in Fulcio
- Istio service mesh integration for TSA
- End-to-end keyless signing workflow
The workflow runs automatically on:
- Push to
mainbranch - Pull requests to
mainbranch - Manual trigger via
workflow_dispatch
To trigger manually:
- Go to the "Actions" tab
- Select "Test Witness Keyless Signing"
- Click "Run workflow"
A successful run should:
- ✅ Install witness CLI
- ✅ Create test artifact
- ✅ Generate signed attestation using Fulcio certificate
- ✅ Include TSA timestamp in attestation
- ✅ Upload attestation as workflow artifact
If the workflow fails:
- Check that Fulcio is accessible at
https://fulcio.testifysec-demo.xyz - Check that TSA is accessible at
https://tsa.testifysec-demo.xyz - Verify GitHub Actions OIDC issuer is configured in Fulcio
- Check workflow logs for specific error messages