module VIISP::Auth::Signing

Constants

SCHEMAS_PATH

Public Instance Methods

sign(doc, private_key = Auth.configuration.private_key) click to toggle source
# File lib/viisp/auth/signing.rb, line 12
def sign(doc, private_key = Auth.configuration.private_key)
  signed_document = Xmldsig::SignedDocument.new(doc, id_attr: 'id')
  signed_document.sign(private_key)
end
validate!(doc, certificate = Auth.configuration.service_cert) click to toggle source
# File lib/viisp/auth/signing.rb, line 17
def validate!(doc, certificate = Auth.configuration.service_cert)
  Dir.chdir(SCHEMAS_PATH) do
    schema = IO.read('authentication.xsd')
    signed_document = Xmldsig::SignedDocument.new(doc, id_attr: 'id')
    signed_document.validate(certificate, schema) ||
      raise(SignatureError, 'Unable to verify signature')
  end
end