Module: Origami::Signature

Defined in:
lib/origami/signature.rb

Defined Under Namespace

Classes: AppData, BuildData, BuildProperties, DigitalSignature, Reference, SigQData

Class Method Summary collapse

Class Method Details

.verify_pkcs7_detached_signature(data, signature, store, flags) ⇒ Object

Verifies a PKCS7 detached signature.

Raises:

  • (SignatureError)


403
404
405
406
407
408
409
# File 'lib/origami/signature.rb', line 403

def self.verify_pkcs7_detached_signature(data, signature, store, flags)
    pkcs7 = OpenSSL::PKCS7.new(signature)
    raise SignatureError, "Not a PKCS7 detached signature" unless pkcs7.detached?

    flags |= OpenSSL::PKCS7::DETACHED
    pkcs7.verify([], store, data, flags)
end

.verify_pkcs7_sha1_signature(data, signature, store, flags) ⇒ Object

Verifies a PKCS7-SHA1 signature.



412
413
414
415
# File 'lib/origami/signature.rb', line 412

def self.verify_pkcs7_sha1_signature(data, signature, store, flags)
    pkcs7 = OpenSSL::PKCS7.new(signature)
    pkcs7.verify([], store, nil, flags) and pkcs7.data == Digest::SHA1.digest(data)
end