Skip to content

Commit b942f90

Browse files
committed
Revert "rekor v2: Cope without CreateEntryRequest"
This reverts commit 3d9a1b8. protobuf-specs now contains CreateEntryRequest: no need to workaround Signed-off-by: Jussi Kukkonen <[email protected]>
1 parent 9cad1d1 commit b942f90

File tree

2 files changed

+39
-50
lines changed

2 files changed

+39
-50
lines changed

sigstore/_internal/rekor/__init__.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import base64
2222
from abc import ABC, abstractmethod
23-
from typing import Any
23+
from typing import Any, NewType
2424

2525
import rekor_types
2626
from cryptography.x509 import Certificate
@@ -34,11 +34,7 @@
3434
"_hashedrekord_from_parts",
3535
]
3636

37-
38-
class EntryRequest(dict[str, Any]):
39-
"""Entry request payload, for either rekor v1 or v2"""
40-
41-
pass
37+
EntryRequest = NewType("EntryRequest", dict[str, Any])
4238

4339

4440
class RekorLogSubmitter(ABC):

sigstore/_internal/rekor/client_v2.py

Lines changed: 37 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,6 @@
4040
_logger = logging.getLogger(__name__)
4141

4242

43-
class _V2EntryRequest(EntryRequest):
44-
@classmethod
45-
def from_hashed_rekord(cls, req: v2.HashedRekordRequestV002) -> _V2EntryRequest:
46-
return cls({"hashedRekordRequestV002": req.to_dict()})
47-
48-
@classmethod
49-
def from_dsse(cls, req: v2.DsseRequestV002) -> _V2EntryRequest:
50-
return cls({"dsseRequestV002": req.to_dict()})
51-
52-
5343
class RekorV2Client(RekorLogSubmitter):
5444
"""The internal Rekor client for the v2 API
5545
@@ -124,22 +114,23 @@ def _build_hashed_rekord_request(
124114
"""
125115
Construct a hashed rekord request to submit to Rekor.
126116
"""
127-
128-
req = v2.HashedRekordRequestV002(
129-
digest=hashed_input.digest,
130-
signature=v2.Signature(
131-
content=signature,
132-
verifier=v2.Verifier(
133-
x509_certificate=common_v1.X509Certificate(
134-
raw_bytes=certificate.public_bytes(
135-
encoding=serialization.Encoding.DER
136-
)
117+
req = v2.CreateEntryRequest(
118+
hashed_rekord_request_v002=v2.HashedRekordRequestV002(
119+
digest=hashed_input.digest,
120+
signature=v2.Signature(
121+
content=signature,
122+
verifier=v2.Verifier(
123+
x509_certificate=common_v1.X509Certificate(
124+
raw_bytes=certificate.public_bytes(
125+
encoding=serialization.Encoding.DER
126+
)
127+
),
128+
key_details=cls._get_key_details(certificate),
137129
),
138-
key_details=cls._get_key_details(certificate),
139130
),
140-
),
131+
)
141132
)
142-
return _V2EntryRequest.from_hashed_rekord(req)
133+
return EntryRequest(req.to_dict())
143134

144135
@classmethod
145136
def _build_dsse_request(
@@ -148,30 +139,32 @@ def _build_dsse_request(
148139
"""
149140
Construct a dsse request to submit to Rekor.
150141
"""
151-
req = v2.DsseRequestV002(
152-
envelope=intoto.Envelope(
153-
payload=envelope._inner.payload,
154-
payload_type=envelope._inner.payload_type,
155-
signatures=[
156-
intoto.Signature(
157-
keyid=signature.keyid,
158-
sig=signature.sig,
142+
req = v2.CreateEntryRequest(
143+
dsse_request_v002=v2.DsseRequestV002(
144+
envelope=intoto.Envelope(
145+
payload=envelope._inner.payload,
146+
payload_type=envelope._inner.payload_type,
147+
signatures=[
148+
intoto.Signature(
149+
keyid=signature.keyid,
150+
sig=signature.sig,
151+
)
152+
for signature in envelope._inner.signatures
153+
],
154+
),
155+
verifiers=[
156+
v2.Verifier(
157+
x509_certificate=common_v1.X509Certificate(
158+
raw_bytes=certificate.public_bytes(
159+
encoding=serialization.Encoding.DER
160+
)
161+
),
162+
key_details=cls._get_key_details(certificate)
159163
)
160-
for signature in envelope._inner.signatures
161164
],
162-
),
163-
verifiers=[
164-
v2.Verifier(
165-
x509_certificate=common_v1.X509Certificate(
166-
raw_bytes=certificate.public_bytes(
167-
encoding=serialization.Encoding.DER
168-
)
169-
),
170-
key_details=cls._get_key_details(certificate),
171-
)
172-
],
165+
)
173166
)
174-
return _V2EntryRequest.from_dsse(req)
167+
return EntryRequest(req.to_dict())
175168

176169

177170
class RekorClientError(Exception):

0 commit comments

Comments
 (0)