Skip to content

Commit db6288a

Browse files
authored
Improve compatibility with sigstore-js mock server (#170)
* Improve compatibility with sigstore-js mock server Signed-off-by: Samuel Giddins <[email protected]> * Update lib/sigstore/signer.rb Signed-off-by: Samuel Giddins <[email protected]> --------- Signed-off-by: Samuel Giddins <[email protected]>
1 parent edd196c commit db6288a

File tree

5 files changed

+35
-6
lines changed

5 files changed

+35
-6
lines changed

bin/sigstore-ruby

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,31 @@ module Sigstore
110110
end
111111
map "sign-bundle" => :sign
112112

113+
desc "display", "Display sigstore bundle(s)"
114+
def display(*files)
115+
require "sigstore/models"
116+
require "sigstore/internal/x509"
117+
118+
files.each do |file|
119+
bundle_bytes = Gem.read_binary(file)
120+
bundle = SBundle.new Bundle::V1::Bundle.decode_json(bundle_bytes, registry: Sigstore::REGISTRY)
121+
122+
say "--- Bundle #{file} ---"
123+
say "Media Type: #{bundle.media_type}"
124+
say bundle.leaf_certificate.to_text
125+
126+
case bundle.content
127+
when :message_signature
128+
say "Signature over: #{bundle.message_signature.message_digest.algorithm} " \
129+
"#{Internal::Util.hex_encode bundle.message_signature.message_digest.digest}"
130+
when :dsse_envelope
131+
say bundle.dsse_envelope.payloadType
132+
say bundle.dsse_envelope.payload
133+
else raise Error::InvalidBundle, "expected either message_signature or dsse_envelope"
134+
end
135+
end
136+
end
137+
113138
class TUF < Thor
114139
def self.exit_on_failure?
115140
true

lib/sigstore/policy.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,16 @@ class OIDCIssuer < SingleX509ExtPolicy
5151
OID = "1.3.6.1.4.1.57264.1.1"
5252
end
5353

54-
class OIDCIssuerV2 < SingleX509ExtPolicy
55-
OID = "1.3.6.1.4.1.57264.1.8"
56-
54+
class SingleX509ExtDerEncodedPolicy < SingleX509ExtPolicy
5755
def ext_value(ext)
5856
OpenSSL::ASN1.decode(ext.value_der).value
5957
end
6058
end
6159

60+
class OIDCIssuerV2 < SingleX509ExtDerEncodedPolicy
61+
OID = "1.3.6.1.4.1.57264.1.8"
62+
end
63+
6264
class AnyOf
6365
def initialize(*policies)
6466
@policies = policies

lib/sigstore/signer.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ def generate_csr(keypair)
9797

9898
{
9999
credentials: {
100-
oidc_identity_token: @identity_token.raw_token
100+
oidcIdentityToken: @identity_token.raw_token
101101
},
102-
certificate_signing_request: Internal::Util.base64_encode(csr.to_pem)
102+
certificateSigningRequest: Internal::Util.base64_encode(csr.to_pem)
103103
}
104104
end
105105

lib/sigstore/tuf/updater.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
require_relative "targets"
2222
require_relative "timestamp"
2323

24+
require "set"
25+
2426
module Sigstore::TUF
2527
class Updater
2628
include Sigstore::Loggable

lib/sigstore/verifier.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def verify(input:, policy:, offline:)
118118

119119
unless store_ctx.verify
120120
return VerificationFailure.new(
121-
"failed to validate certification from fulcio cert chain: #{store_ctx.error_string}"
121+
"failed to validate certificate from fulcio cert chain: #{store_ctx.error_string}"
122122
)
123123
end
124124

0 commit comments

Comments
 (0)