Skip to content

Commit f3b363d

Browse files
committed
Use byte[] for digest instead of hex String
Signed-off-by: Appu Goundan <[email protected]>
1 parent 80cda32 commit f3b363d

File tree

4 files changed

+9
-19
lines changed

4 files changed

+9
-19
lines changed

sigstore-java/src/main/java/dev/sigstore/KeylessSigner.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import java.util.ArrayList;
4141
import java.util.List;
4242
import java.util.Map;
43-
import org.bouncycastle.util.encoders.Hex;
4443

4544
/** A full sigstore keyless signing flow. */
4645
public class KeylessSigner {
@@ -191,7 +190,7 @@ public List<KeylessSigningResult> sign(List<byte[]> artifactDigests)
191190

192191
result.add(
193192
ImmutableKeylessSigningResult.builder()
194-
.digest(Hex.toHexString(artifactDigest))
193+
.digest(artifactDigest)
195194
.certPath(signingCert.getCertPath())
196195
.signature(signature)
197196
.entry(rekorResponse.getEntry())

sigstore-java/src/main/java/dev/sigstore/KeylessSigningResult.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121

2222
@Value.Immutable
2323
public interface KeylessSigningResult {
24-
/** The hex encoded sha256 hash digest of the artifact */
25-
String getDigest();
24+
/** The sha256 hash digest of the artifact */
25+
byte[] getDigest();
2626

2727
/** The full certificate chain provided by fulcio for the public key used to sign the artifact */
2828
CertPath getCertPath();

sigstore-java/src/main/java/dev/sigstore/bundle/BundleFactoryInternal.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ static Bundle.Builder createBundleBuilder(KeylessSigningResult signingResult) {
5050
.setMessageDigest(
5151
HashOutput.newBuilder()
5252
.setAlgorithm(HashAlgorithm.SHA2_256)
53-
.setDigest(ByteString.fromHex(signingResult.getDigest()))));
53+
.setDigest(ByteString.copyFrom(signingResult.getDigest()))));
5454
}
5555

5656
private static VerificationMaterial.Builder buildVerificationMaterial(

sigstore-java/src/test/java/dev/sigstore/KeylessTest.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import java.util.Base64;
3131
import java.util.List;
3232
import java.util.UUID;
33-
import org.bouncycastle.util.encoders.Hex;
3433
import org.junit.jupiter.api.Assertions;
3534
import org.junit.jupiter.api.BeforeAll;
3635
import org.junit.jupiter.api.Disabled;
@@ -71,9 +70,7 @@ public void sign_production() throws Exception {
7170
var verifier = KeylessVerifier.builder().sigstorePublicDefaults().build();
7271
for (var result : results) {
7372
verifier.verifyOnline(
74-
Hex.decode(result.getDigest()),
75-
Certificates.toPemBytes(result.getCertPath()),
76-
result.getSignature());
73+
result.getDigest(), Certificates.toPemBytes(result.getCertPath()), result.getSignature());
7774
}
7875
}
7976

@@ -88,9 +85,7 @@ public void sign_staging() throws Exception {
8885
var verifier = KeylessVerifier.builder().sigstoreStagingDefaults().build();
8986
for (var result : results) {
9087
verifier.verifyOnline(
91-
Hex.decode(result.getDigest()),
92-
Certificates.toPemBytes(result.getCertPath()),
93-
result.getSignature());
88+
result.getDigest(), Certificates.toPemBytes(result.getCertPath()), result.getSignature());
9489
}
9590
}
9691

@@ -108,9 +103,7 @@ public void sign_productionWithGithubOidc() throws Exception {
108103
var verifier = KeylessVerifier.builder().sigstorePublicDefaults().build();
109104
for (var result : results) {
110105
verifier.verifyOnline(
111-
Hex.decode(result.getDigest()),
112-
Certificates.toPemBytes(result.getCertPath()),
113-
result.getSignature());
106+
result.getDigest(), Certificates.toPemBytes(result.getCertPath()), result.getSignature());
114107
}
115108
}
116109

@@ -129,9 +122,7 @@ public void sign_stagingWithGithubOidc() throws Exception {
129122
var verifier = KeylessVerifier.builder().sigstoreStagingDefaults().build();
130123
for (var result : results) {
131124
verifier.verifyOnline(
132-
Hex.decode(result.getDigest()),
133-
Certificates.toPemBytes(result.getCertPath()),
134-
result.getSignature());
125+
result.getDigest(), Certificates.toPemBytes(result.getCertPath()), result.getSignature());
135126
}
136127
}
137128

@@ -150,7 +141,7 @@ private void verifySigningResult(List<KeylessSigningResult> results)
150141

151142
var hr = RekorTypes.getHashedRekord(result.getEntry());
152143
// check if ht rekor entry has the digest we sent
153-
Assertions.assertEquals(Hex.toHexString(artifactDigest), result.getDigest());
144+
Assertions.assertArrayEquals(artifactDigest, result.getDigest());
154145
// check if the rekor entry has the signature we sent
155146
Assertions.assertArrayEquals(
156147
Base64.getDecoder().decode(hr.getSignature().getContent()), result.getSignature());

0 commit comments

Comments
 (0)