@@ -55,6 +55,24 @@ import (
5555 "github.com/conforma/cli/internal/validate/vsa"
5656)
5757
58+ const (
59+ // testImageDigest is a test image digest used across multiple test cases
60+ testImageDigest = "registry/image@sha256:ad333bfa53d18c684821c85bfa8693e771c336f0ba1a286b3a6ec37dd95a232e"
61+ )
62+
63+ // Unencrypted test key for testing (proper SIGSTORE format)
64+ const testECKey = `-----BEGIN ENCRYPTED SIGSTORE PRIVATE KEY-----
65+ eyJrZGYiOnsibmFtZSI6InNjcnlwdCIsInBhcmFtcyI6eyJOIjo2NTUzNiwiciI6
66+ OCwicCI6MX0sInNhbHQiOiJKK0NwVkQ3RnE5OVhNNjdScFFweG1QUlBIWFZxMVpS
67+ a0RuN0hva1V4aDl3PSJ9LCJjaXBoZXIiOnsibmFtZSI6Im5hY2wvc2VjcmV0Ym94
68+ Iiwibm9uY2UiOiJhVHdJeEdrOHMvaUdHUGJqRW9wUkJackM4K0xHVmFEOSJ9LCJj
69+ aXBoZXJ0ZXh0IjoiRyt1eFU4K0tvMnpCdklRajhWc0d2bnZ2MDFHaVladU9zR3pY
70+ OW1kTGNGZGRlYUNEcnFkc2UrQk4wR0lROERmNWtQV2JuQWxXMnhqcTNCL1piZzNH
71+ VmJYSEhwK0o5NGxKc1RFQ0U4U1hpTkxaOGVJSGFwQkVrTDc1Mk5xMCtZMkRSbjVy
72+ azNoSXRYaHBLYWxueEY5S0lqNFR1YkRiRHo1MGlWd1I2MkdSWlJPaFRYa0dEOXNr
73+ RGNWMnRvTWdxSVlNQ2N6bzVMRU4weEhEM3c9PSJ9
74+ -----END ENCRYPTED SIGSTORE PRIVATE KEY-----`
75+
5876// simpleFakeSigner implements signature.SignerVerifier for integration tests
5977type simpleFakeSigner struct {}
6078
@@ -654,7 +672,7 @@ func Test_ValidateImageCommandExtraData(t *testing.T) {
654672 commonMockClient (& client )
655673
656674 // Add missing ResolveDigest expectation for VSA processing
657- digest , _ := name .NewDigest ("registry/image@sha256:ad333bfa53d18c684821c85bfa8693e771c336f0ba1a286b3a6ec37dd95a232e" )
675+ digest , _ := name .NewDigest (testImageDigest )
658676 client .On ("ResolveDigest" , mock .Anything ).Return (digest .String (), nil )
659677
660678 ctx = oci .WithClient (ctx , & client )
@@ -1192,7 +1210,7 @@ func Test_FailureImageAccessibilityNonStrict(t *testing.T) {
11921210 commonMockClient (& client )
11931211
11941212 // Add missing ResolveDigest expectation for VSA processing
1195- digest , _ := name .NewDigest ("registry/image@sha256:ad333bfa53d18c684821c85bfa8693e771c336f0ba1a286b3a6ec37dd95a232e" )
1213+ digest , _ := name .NewDigest (testImageDigest )
11961214 client .On ("ResolveDigest" , mock .Anything ).Return (digest .String (), nil )
11971215
11981216 ctx := utils .WithFS (context .Background (), afero .NewMemMapFs ())
@@ -1421,24 +1439,14 @@ func TestValidateImageCommand_VSAUpload_Success(t *testing.T) {
14211439 ctx := utils .WithFS (context .Background (), fs )
14221440
14231441 // Create a test VSA signing key (real ECDSA P-256 key for testing)
1424- err := afero .WriteFile (fs , "/tmp/vsa-key.pem" , []byte (`-----BEGIN ENCRYPTED SIGSTORE PRIVATE KEY-----
1425- eyJrZGYiOnsibmFtZSI6InNjcnlwdCIsInBhcmFtcyI6eyJOIjo2NTUzNiwiciI6
1426- OCwicCI6MX0sInNhbHQiOiJKK0NwVkQ3RnE5OVhNNjdScFFweG1QUlBIWFZxMVpS
1427- a0RuN0hva1V4aDl3PSJ9LCJjaXBoZXIiOnsibmFtZSI6Im5hY2wvc2VjcmV0Ym94
1428- Iiwibm9uY2UiOiJhVHdJeEdrOHMvaUdHUGJqRW9wUkJackM4K0xHVmFEOSJ9LCJj
1429- aXBoZXJ0ZXh0IjoiRyt1eFU4K0tvMnpCdklRajhWc0d2bnZ2MDFHaVladU9zR3pY
1430- OW1kTGNGZGRlYUNEcnFkc2UrQk4wR0lROERmNWtQV2JuQWxXMnhqcTNCL1piZzNH
1431- VmJYSEhwK0o5NGxKc1RFQ0U4U1hpTkxaOGVJSGFwQkVrTDc1Mk5xMCtZMkRSbjVy
1432- azNoSXRYaHBLYWxueEY5S0lqNFR1YkRiRHo1MGlWd1I2MkdSWlJPaFRYa0dEOXNr
1433- RGNWMnRvTWdxSVlNQ2N6bzVMRU4weEhEM3c9PSJ9
1434- -----END ENCRYPTED SIGSTORE PRIVATE KEY-----` ), 0600 )
1442+ err := afero .WriteFile (fs , "/tmp/vsa-key.pem" , []byte (testECKey ), 0600 )
14351443 require .NoError (t , err )
14361444
14371445 client := fake.FakeClient {}
14381446 commonMockClient (& client )
14391447
14401448 // Add missing ResolveDigest expectation for VSA processing
1441- digest , _ := name .NewDigest ("registry/image@sha256:ad333bfa53d18c684821c85bfa8693e771c336f0ba1a286b3a6ec37dd95a232e" )
1449+ digest , _ := name .NewDigest (testImageDigest )
14421450 client .On ("ResolveDigest" , mock .Anything ).Return (digest .String (), nil )
14431451
14441452 ctx = oci .WithClient (ctx , & client )
@@ -1491,24 +1499,14 @@ func TestValidateImageCommand_VSAUpload_NoStorageBackends(t *testing.T) {
14911499 ctx := utils .WithFS (context .Background (), fs )
14921500
14931501 // Create VSA signing key
1494- err := afero .WriteFile (fs , "/tmp/vsa-key.pem" , []byte (`-----BEGIN ENCRYPTED SIGSTORE PRIVATE KEY-----
1495- eyJrZGYiOnsibmFtZSI6InNjcnlwdCIsInBhcmFtcyI6eyJOIjo2NTUzNiwiciI6
1496- OCwicCI6MX0sInNhbHQiOiJKK0NwVkQ3RnE5OVhNNjdScFFweG1QUlBIWFZxMVpS
1497- a0RuN0hva1V4aDl3PSJ9LCJjaXBoZXIiOnsibmFtZSI6Im5hY2wvc2VjcmV0Ym94
1498- Iiwibm9uY2UiOiJhVHdJeEdrOHMvaUdHUGJqRW9wUkJackM4K0xHVmFEOSJ9LCJj
1499- aXBoZXJ0ZXh0IjoiRyt1eFU4K0tvMnpCdklRajhWc0d2bnZ2MDFHaVladU9zR3pY
1500- OW1kTGNGZGRlYUNEcnFkc2UrQk4wR0lROERmNWtQV2JuQWxXMnhqcTNCL1piZzNH
1501- VmJYSEhwK0o5NGxKc1RFQ0U4U1hpTkxaOGVJSGFwQkVrTDc1Mk5xMCtZMkRSbjVy
1502- azNoSXRYaHBLYWxueEY5S0lqNFR1YkRiRHo1MGlWd1I2MkdSWlJPaFRYa0dEOXNr
1503- RGNWMnRvTWdxSVlNQ2N6bzVMRU4weEhEM3c9PSJ9
1504- -----END ENCRYPTED SIGSTORE PRIVATE KEY-----` ), 0600 )
1502+ err := afero .WriteFile (fs , "/tmp/vsa-key.pem" , []byte (testECKey ), 0600 )
15051503 require .NoError (t , err )
15061504
15071505 client := fake.FakeClient {}
15081506 commonMockClient (& client )
15091507
15101508 // Add missing ResolveDigest expectation for VSA processing
1511- digest , _ := name .NewDigest ("registry/image@sha256:ad333bfa53d18c684821c85bfa8693e771c336f0ba1a286b3a6ec37dd95a232e" )
1509+ digest , _ := name .NewDigest (testImageDigest )
15121510 client .On ("ResolveDigest" , mock .Anything ).Return (digest .String (), nil )
15131511
15141512 ctx = oci .WithClient (ctx , & client )
0 commit comments