use tsa fallback url

pull/382/head
Pete Matsyburka 1 year ago
parent 8773b30b10
commit d4aef79b68

@ -6,10 +6,10 @@ module Submissions
TimestampError = Class.new(StandardError) TimestampError = Class.new(StandardError)
attr_reader :tsa_url attr_reader :tsa_url, :tsa_fallback_url
def initialize(tsa_url:) def initialize(tsa_url:)
@tsa_url = tsa_url @tsa_url, @tsa_fallback_url = tsa_url.split(',')
end end
def finalize_objects(_signature_field, signature) def finalize_objects(_signature_field, signature)
@ -37,7 +37,16 @@ module Submissions
response = conn.post(uri.path, build_payload(digest.digest), response = conn.post(uri.path, build_payload(digest.digest),
'content-type' => 'application/timestamp-query') 'content-type' => 'application/timestamp-query')
if response.status != 200 || response.body.blank?
raise TimestampError if tsa_fallback_url.blank?
Rollbar.error('TimestampError: use fallback URL') if defined?(Rollbar)
response = Faraday.post(tsa_fallback_url, build_payload(digest.digest),
'content-type' => 'application/timestamp-query')
raise TimestampError if response.status != 200 || response.body.blank? raise TimestampError if response.status != 200 || response.body.blank?
end
OpenSSL::Timestamp::Response.new(response.body).token.to_der OpenSSL::Timestamp::Response.new(response.body).token.to_der
end end

Loading…
Cancel
Save