module VIISP::Auth::Requests::Signature

Public Instance Methods

build_signature(builder, element_id) click to toggle source
# File lib/viisp/auth/requests/signature.rb, line 7
def build_signature(builder, element_id)
  builder[:ds].Signature do
    builder.SignedInfo do
      builder.CanonicalizationMethod(Algorithm: 'http://www.w3.org/2001/10/xml-exc-c14n#')
      builder.SignatureMethod(Algorithm: 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256')
      builder.Reference(URI: '#' + element_id) do
        builder.Transforms do
          builder.Transform(Algorithm: 'http://www.w3.org/2000/09/xmldsig#enveloped-signature')
        end
        builder.DigestMethod(Algorithm: 'http://www.w3.org/2001/04/xmlenc#sha256')
        builder.DigestValue
      end
    end
    builder.SignatureValue
  end
end