Class: Imagemaster3000::Utils::Crypto

Inherits:
Object
  • Object
show all
Defined in:
lib/imagemaster3000/utils/crypto.rb

Class Method Summary collapse

Class Method Details

.verify(arguments, message, return_value = nil) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/imagemaster3000/utils/crypto.rb', line 16

def self.verify(arguments, message, return_value = nil)
  crypto = ::GPGME::Crypto.new
  output = crypto.send(:verify, *arguments) do |signature|
    raise Imagemaster3000::Errors::VerificationError, "#{message}: #{signature}" unless signature.valid?
  end

  output = return_value if return_value
  output.seek 0
  output.read
end

.verify_clearsign(file) ⇒ Object



4
5
6
7
# File 'lib/imagemaster3000/utils/crypto.rb', line 4

def self.verify_clearsign(file)
  logger.debug "Verifying clearsign signature for file #{file.path.inspect}"
  verify [file], "Verification failed on file #{file.path.inspect}"
end

.verify_detached(signature, data) ⇒ Object



9
10
11
12
13
14
# File 'lib/imagemaster3000/utils/crypto.rb', line 9

def self.verify_detached(signature, data)
  logger.debug "Verifying detached signature for file #{data.path.inspect} and signature #{signature.path.inspect}"
  verify [signature, { signed_text: data }],
         "Verification failed on file #{data.path.inspect} with signature #{signature.path.inspect}",
         data
end