Module: VIISP::Auth::Requests::Signature

Included in:
Identity, Ticket
Defined in:
lib/viisp/auth/requests/signature.rb

Instance Method Summary collapse

Instance Method Details

#build_signature(builder, element_id) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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