File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2525
2626 - name : Self-attest with forgeseal pipeline
2727 run : |
28- ./forgeseal pipeline \
28+ ./bin/ forgeseal pipeline \
2929 --dir . \
3030 --output-dir ./forgeseal-output \
3131 --sign \
3535 - name : Compute artifact digest
3636 id : digest
3737 run : |
38- DIGEST=$(sha256sum ./forgeseal 2>/dev/null || sha256sum ./bin/forgeseal 2>/dev/null || echo "sha256: unknown")
38+ DIGEST="sha256: $(sha256sum ./bin/ forgeseal 2>/dev/null | awk '{print $1}' || echo ' unknown')"
3939 echo "value=$DIGEST" >> "$GITHUB_OUTPUT"
4040
4141 - name : Obtain svidmint SVID
Original file line number Diff line number Diff line change @@ -131,6 +131,7 @@ func runPipeline(cmd *cobra.Command, args []string) error {
131131 }
132132
133133 // Step 2: Sign SBOM
134+ caExported := false
134135 if doSign {
135136 if ! quiet {
136137 fmt .Fprintln (os .Stderr , "Step 2/4: Signing SBOM..." )
@@ -153,6 +154,7 @@ func runPipeline(cmd *cobra.Command, args []string) error {
153154 if err := keyedSigner .ExportCATo (outputDir ); err != nil {
154155 return fmt .Errorf ("exporting CA cert: %w" , err )
155156 }
157+ caExported = true
156158 if ! quiet {
157159 fmt .Fprintf (os .Stderr , " CA cert exported to %s/forgeseal-signing-ca.crt\n " , outputDir )
158160 }
@@ -202,6 +204,16 @@ func runPipeline(cmd *cobra.Command, args []string) error {
202204 if err := signing .WriteBundle (signResult .Bundle , bundlePath ); err != nil {
203205 return fmt .Errorf ("writing attestation signature: %w" , err )
204206 }
207+ // Export CA cert here if it wasn't already exported during SBOM signing
208+ // (e.g. if SBOM signing was skipped or failed before ExportCATo was reached)
209+ if keyed && ! caExported {
210+ if err := keyedSigner .ExportCATo (outputDir ); err != nil {
211+ return fmt .Errorf ("exporting CA cert: %w" , err )
212+ }
213+ if ! quiet {
214+ fmt .Fprintf (os .Stderr , " CA cert exported to %s/forgeseal-signing-ca.crt\n " , outputDir )
215+ }
216+ }
205217 }
206218 }
207219 }
You can’t perform that action at this time.
0 commit comments