diff --git a/src/model_signing/_signing/sign_sigstore.py b/src/model_signing/_signing/sign_sigstore.py index 9140a8cf..a4e5bb42 100644 --- a/src/model_signing/_signing/sign_sigstore.py +++ b/src/model_signing/_signing/sign_sigstore.py @@ -126,7 +126,8 @@ def __init__( if not oidc_issuer: oidc_issuer = trust_config.signing_config.get_oidc_url() - self._issuer = sigstore_oidc.Issuer(oidc_issuer) + self._oidc_issuer = oidc_issuer + self._issuer: sigstore_oidc.Issuer | None = None self._signing_context = ( sigstore_signer.SigningContext.from_trust_config(trust_config) ) @@ -153,6 +154,9 @@ def _get_identity_token(self) -> sigstore_oidc.IdentityToken: if token: return sigstore_oidc.IdentityToken(token, self._client_id) + if self._issuer is None: + self._issuer = sigstore_oidc.Issuer(self._oidc_issuer) + return self._issuer.identity_token( force_oob=self._force_oob, client_id=self._client_id,