1919import dev .sigstore .bundle .Bundle ;
2020import dev .sigstore .dsse .InTotoPayload ;
2121import dev .sigstore .json .JsonParseException ;
22+ import dev .sigstore .oidc .client .OidcClients ;
23+ import dev .sigstore .oidc .client .TokenStringOidcClient ;
2224import dev .sigstore .testkit .annotations .DisabledIfSkipStaging ;
2325import dev .sigstore .testkit .annotations .EnabledIfOidcExists ;
2426import dev .sigstore .testkit .annotations .OidcProviderType ;
27+ import dev .sigstore .testkit .oidc .ConformanceTestingToken ;
2528import dev .sigstore .trustroot .ImmutableSigstoreSigningConfig ;
2629import dev .sigstore .trustroot .Service ;
2730import dev .sigstore .tuf .SigstoreTufClient ;
@@ -50,6 +53,9 @@ public class KeylessTest {
5053 public static List <byte []> artifactDigests ;
5154 public static String payload ;
5255
56+ private static final OidcClients CONFORMANCE_TOKEN_CLIENT =
57+ OidcClients .of (TokenStringOidcClient .from (ConformanceTestingToken .newProvider ()));
58+
5359 @ BeforeAll
5460 public static void setupArtifact () throws IOException {
5561 artifactDigests = new ArrayList <>();
@@ -75,7 +81,7 @@ public static void setupArtifact() throws IOException {
7581
7682 @ Test
7783 @ EnabledIfOidcExists (provider = OidcProviderType .ANY )
78- public void sign_production () throws Exception {
84+ public void sign_production_and_test_oidc () throws Exception {
7985 var signer = KeylessSigner .builder ().sigstorePublicDefaults ().build ();
8086 var results = signer .sign (artifactDigests );
8187
@@ -93,7 +99,6 @@ public void sign_production() throws Exception {
9399 * Should be merged into "sign_production" above when ready.
94100 */
95101 @ Test
96- @ EnabledIfOidcExists (provider = OidcProviderType .ANY )
97102 public void sign_production_rekorV2 () throws Exception {
98103 // TODO(#1033): Get Rekor v2 service from TUF signing config when in prod
99104 var prodTufClient = SigstoreTufClient .builder ().usePublicGoodInstance ().build ();
@@ -107,6 +112,7 @@ public void sign_production_rekorV2() throws Exception {
107112 var signer =
108113 KeylessSigner .builder ()
109114 .sigstorePublicDefaults ()
115+ .forceCredentialProviders (CONFORMANCE_TOKEN_CLIENT )
110116 .signingConfigProvider (() -> signingConfig )
111117 .enableRekorV2 (true )
112118 .build ();
@@ -123,11 +129,14 @@ public void sign_production_rekorV2() throws Exception {
123129
124130 @ ParameterizedTest
125131 @ ValueSource (booleans = {true , false })
126- @ EnabledIfOidcExists (provider = OidcProviderType .ANY )
127132 @ DisabledIfSkipStaging
128133 public void sign_staging (boolean enableRekorV2 ) throws Exception {
129134 var signer =
130- KeylessSigner .builder ().sigstoreStagingDefaults ().enableRekorV2 (enableRekorV2 ).build ();
135+ KeylessSigner .builder ()
136+ .sigstoreStagingDefaults ()
137+ .forceCredentialProviders (CONFORMANCE_TOKEN_CLIENT )
138+ .enableRekorV2 (enableRekorV2 )
139+ .build ();
131140 var results = signer .sign (artifactDigests );
132141 verifySigningResult (results , enableRekorV2 );
133142
@@ -139,7 +148,6 @@ public void sign_staging(boolean enableRekorV2) throws Exception {
139148 }
140149
141150 @ Test
142- @ EnabledIfOidcExists (provider = OidcProviderType .ANY )
143151 public void attest_production () throws Exception {
144152 // TODO(#1033): Get Rekor v2 service from TUF signing config when in prod
145153 var prodTufClient = SigstoreTufClient .builder ().usePublicGoodInstance ().build ();
@@ -153,6 +161,7 @@ public void attest_production() throws Exception {
153161 var signer =
154162 KeylessSigner .builder ()
155163 .sigstorePublicDefaults ()
164+ .forceCredentialProviders (CONFORMANCE_TOKEN_CLIENT )
156165 .signingConfigProvider (() -> signingConfig )
157166 .enableRekorV2 (true )
158167 .build ();
@@ -172,10 +181,14 @@ public void attest_production() throws Exception {
172181 }
173182
174183 @ Test
175- @ EnabledIfOidcExists (provider = OidcProviderType .ANY )
176184 @ DisabledIfSkipStaging
177185 public void attest_staging () throws Exception {
178- var signer = KeylessSigner .builder ().sigstoreStagingDefaults ().enableRekorV2 (true ).build ();
186+ var signer =
187+ KeylessSigner .builder ()
188+ .sigstoreStagingDefaults ()
189+ .forceCredentialProviders (CONFORMANCE_TOKEN_CLIENT )
190+ .enableRekorV2 (true )
191+ .build ();
179192 var result = signer .attest (payload );
180193
181194 Assertions .assertNotNull (result .getDsseEnvelope ().get ());
0 commit comments