xmldsig 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NzYzM2U2MTA3OGEwYzAzZmJiZDNlNDc0N2FmMWE5NjY1YWFjNGJmZA==
5
+ data.tar.gz: !binary |-
6
+ ZWRlM2JmYTI3YzNiODMwYjM0MTgwZWI1YTIzYjkwNjAzYWNiYmRjZg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ Y2I3ODgyY2M0M2UwMGZhNzAwNDU0M2Q5NTQyODYyOTEyNTVmZTVjMjNjMDI2
10
+ NGFiZjI3YzY4YTQ3ZjNmN2FjMDQyNmJjODMyYzlmOTYyYTQzZGJjMzhhOTAw
11
+ OWI4ODExMGM3MGUxYzZjODc4NWU2OTZiZjA0YzYyNDU1MmZlOGQ=
12
+ data.tar.gz: !binary |-
13
+ MzE2NjBjYmE3MGY0ZmFiZDQ3Njg0ZGVkMDhhZjdkM2MwYTk3NDc0OGE3ZDk4
14
+ MDM1MjNlMDk1OGY4ODU2NzJlMDc5MWJiNWQ1NDFiNjExYzNjMTYzYTJmYmIy
15
+ ZmRjNjMwNjRhOWMyMzlmYzAxZTcwM2RhYTgxMzlkNDQ3NWExMzE=
@@ -1,5 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.0.0
3
4
  - 1.9.3
4
- - 1.8.7
5
- - ree
data/decrypt.rb ADDED
@@ -0,0 +1,85 @@
1
+ require 'openssl'
2
+ require 'base64'
3
+ require 'nokogiri'
4
+ require 'securerandom'
5
+
6
+ xml = File.read('spec/fixtures/encryptedResponse.xml')
7
+ private_key = OpenSSL::PKey::RSA.new File.read('spec/fixtures/keysncerts/userkey.pem'), 'hello'
8
+
9
+ cv = Base64.decode64 "YYq0hkSXofEEiiZ2LdCx8M/yvR0P+G4U510Bqkg4E3YoApqPJinqmOlNU7x/MChZp23zWHJqS4fH0VtK5ZT8gToEwbKQ/DsjYFQXVCRHxjrRp0Mfrvj89bTpivA3TPdVXhS80MFqtd7NfKEQSI4roJY9JgDvn45j77oXurr6h1c="
10
+ cv2 = Base64.decode64 "TQzLeeCNG8y8+C1XpC7ZNtvrCyIOl7e4b1zOUwARlbmiIC1YIUHl38uhAkw0B7+BNZ9inafH2RyWO8MH5XSs4O7cyLkNJXETmc1CFozTa2J4DWLqDOByyT0LqlGir80PjfCeOnSFsLR9SCnvJpcpuEseRHfXnotnMpP1fQFiSheKGEb/oXn9feVxqlvBOOK0VHxFqis0Cb4KYsQWu0DiujBZQMj+tKNnnodb6jNwKcR4JDNda2JwWxXs0hViumO/2AC+YhAoiVBwPH2rXBv+yXkQcI0y8u+B9fYSoZ2pNXk="
11
+
12
+ key = private_key.private_decrypt(cv)
13
+
14
+ cipher = OpenSSL::Cipher::Cipher.new('des-ede3-cbc')
15
+ cipher.decrypt
16
+ cipher.padding = 0
17
+ cipher.key = key
18
+ cipher.iv = cv2[0..8]
19
+
20
+ out = cipher.update(cv2[8..-1])
21
+ out << cipher.final
22
+
23
+ puts out.inspect
24
+
25
+ out = out[0...-out.bytes.to_a.last]
26
+
27
+ cipher.encrypt
28
+ cipher.padding = 0
29
+ cipher.key = key
30
+ cipher.iv = cv2[0..8]
31
+
32
+ padding_length = (out.length % 8)
33
+ padding = SecureRandom.random_bytes(padding_length -1) + padding_length.chr
34
+ puts padding.inspect
35
+
36
+ out = cipher.update(out + padding)
37
+ out << cipher.final
38
+
39
+ cv2 = out
40
+
41
+ key = private_key.private_decrypt(cv)
42
+
43
+ cipher = OpenSSL::Cipher::Cipher.new('des-ede3-cbc')
44
+ cipher.decrypt
45
+ cipher.padding = 0
46
+ cipher.key = key
47
+ cipher.iv = cv2[0..8]
48
+
49
+ out = cipher.update(cv2[8..-1])
50
+ out << cipher.final
51
+
52
+ puts out.inspect
53
+
54
+ out = out[0...-out.bytes.to_a.last]
55
+
56
+ puts out.inspect
57
+
58
+ #doc = Nokogiri::XML::Document.parse(xml)
59
+ #
60
+ #wrapped_key = Base64.decode64('BxnBnHLtE1IjI9bTGDVs9EyJspS46SJrX4r3yYRdBJYawEp5AHWx6SgVB1TuU466ORIPX0HqdUvy8efOP/7gHhFlm/noKc+qToD1YSvGQ27kJdZbBJE+kcnDZpgqPHCR+fr3Nv/WfN+eZRYMlky1D8JaWFd1P6Eqi8xqY1BirHQ=')
61
+ #
62
+ #private_key = OpenSSL::PKey::RSA.new File.read('spec/fixtures/post-office.pem')
63
+ #key = private_key.private_decrypt(wrapped_key, OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING)
64
+ #
65
+ #bytes = Base64.decode64(c2).unpack('C*')
66
+ #puts key.inspect
67
+ #
68
+ #iv = bytes.pack('c16')
69
+ #others = bytes.pack('c16X16c*')
70
+ #
71
+ #cipher = OpenSSL::Cipher.new('aes-128-cbc')
72
+ #cipher.decrypt
73
+ #cipher.iv = Base64.decode64(c2)[0..15]
74
+ #cipher.key = key
75
+ #
76
+ #out = cipher.update(others)
77
+ #
78
+ #The encrypted string's length might not be a multiple of the block
79
+ #length of aes-128-cbc (16), so add in another block and then trim
80
+ #off the padding. More info about padding is available at
81
+ #http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/Overview.html in
82
+ #Section 5.2
83
+ #puts out << cipher.update("\x00" * 16)
84
+ #puts out[0...(-out.bytes.to_a.last)]
85
+ #
@@ -10,9 +10,9 @@ module Xmldsig
10
10
  signatures.any? && signatures.all? { |signature| signature.valid?(certificate, &block) }
11
11
  end
12
12
 
13
- def sign(private_key = nil, &block)
13
+ def sign(private_key = nil, instruct = true, &block)
14
14
  signatures.each { |signature| signature.sign(private_key, &block) }
15
- @document.to_s
15
+ instruct ? @document.to_s : @document.root.to_s
16
16
  end
17
17
 
18
18
  def signed_nodes
@@ -1,3 +1,3 @@
1
1
  module Xmldsig
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.3'
3
3
  end
data/rsa_ext.rb ADDED
@@ -0,0 +1,116 @@
1
+ require 'digest/sha1'
2
+ require 'rsa'
3
+
4
+ module RSA
5
+ module OAEP
6
+ extend self
7
+
8
+ # Represents an error that occurs during decoding when using
9
+ # RSA::OAEP.decode or RSA::OAEP.eme_decode. There is one argument which is
10
+ # a brief message detailing the error
11
+ class DecodeError < StandardError; end
12
+
13
+ # The algorithms below need the HLEN variable. This is the length of the
14
+ # hashes generated by the hashing function. For now, this only supports SHA1
15
+ # as the hashing function, and this has a hash length of 20
16
+ HLEN = 20
17
+
18
+ # Performs the rsa-oaep-mgf1 decrypt algorithm. This is specified in section
19
+ # 7.1.2 of http://www.ietf.org/rfc/rfc2437.txt.
20
+ #
21
+ # This implementation assumes that the sha1 hashing algorithm was used.
22
+ #
23
+ # @param [RSA::Key] k the private key whose public key was used to
24
+ # encrypt the data
25
+ # @param [String] c a string of raw bytes representing the text to be
26
+ # decoded
27
+ # @param [String] p the options which were used in the original encoding of
28
+ # the string. By default this is the empty string.
29
+ #
30
+ # @return [String] the decoded string of bytes
31
+ # @raise [DecodeError] If decoding cannot occur, an error is raised
32
+ def decode k, c, p = ''
33
+ # First, generate how many bytes the key's modulus is
34
+ n = k.modulus
35
+ bytes = 0
36
+ while n > 0
37
+ bytes += 1
38
+ n /= 2
39
+ end
40
+ bytes /= 8
41
+
42
+ raise DecodeError, 'input is wrong length!' unless c.length == bytes
43
+
44
+ puts [c, bytes].inspect
45
+ enc = RSA::PKCS1.os2ip c
46
+ m = RSA::PKCS1.rsadp k, enc
47
+ em = RSA::PKCS1.i2osp m, bytes - 1
48
+
49
+ eme_decode em, p
50
+ end
51
+
52
+ # Decodes the encrypted message as specified by the algorithm listed on
53
+ # http://www.ietf.org/rfc/rfc2437.txt in section 9.1.1.2
54
+ #
55
+ # @param [String] em the encoded message that needs to be decoded
56
+ # @param [String] p the flags used in the original encoding scheme.
57
+ #
58
+ # @return [String] the decoded byte string of the supplied message
59
+ # @raise [DecodeError] if decoding goes awry or the message does not pass
60
+ # sanity checks during decoding
61
+ def eme_decode em, p = ''
62
+ raise DecodeError, 'message is too short!' if em.length < HLEN * 2 + 1
63
+
64
+ maskedSeed = em[0...HLEN]
65
+ maskedDB = em[HLEN..-1]
66
+ seedMask = mgf1 maskedDB, HLEN
67
+ seed = xor maskedSeed, seedMask
68
+ dbMask = mgf1 seed, em.size - HLEN
69
+ db = xor maskedDB, dbMask
70
+ pHash = Digest::SHA1.digest p
71
+
72
+ ind = db.index("\x01", HLEN)
73
+ raise DecodeError, 'message is invalid!' if ind.nil?
74
+
75
+ pHash2 = db[0...HLEN]
76
+ ps = db[HLEN...ind]
77
+ m = db[(ind + 1)..-1]
78
+
79
+ raise DecodeError, 'message is invalid!' unless ps.bytes.all?(&:zero?)
80
+ raise DecodeError, "specified p = #{p.inspect} is wrong!" unless pHash2 == pHash
81
+
82
+ m
83
+ end
84
+
85
+ # Defined in seciton 10.2.1 of http://www.ietf.org/rfc/rfc2437.txt, this
86
+ # is the mask generation function used in the eme_decode function
87
+ #
88
+ # @param [String] z this is the seed which the mask function runs off of
89
+ # @param [Integer] l the desired length of the resultant hash
90
+ #
91
+ # @return [String] the mask generated
92
+ def mgf1 z, l
93
+ t = ''
94
+
95
+ (0..(l / HLEN)).each{ |i|
96
+ t += Digest::SHA1.digest(z + RSA::PKCS1.i2osp(i, 4))
97
+ }
98
+
99
+ t[0...l]
100
+ end
101
+
102
+ private
103
+
104
+ def xor s1, s2
105
+ b1 = s1.unpack('c*')
106
+ b2 = s2.unpack('c*')
107
+
108
+ if b1.length != b2.length
109
+ raise DecodeError, 'cannot xor strings of different lengths!'
110
+ end
111
+
112
+ b1.zip(b2).map{ |a, b| a ^ b }.pack('c*')
113
+ end
114
+
115
+ end
116
+ end
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <PayInfo>
3
+ <Name>John Smith</Name>
4
+ <CreditCard Limit='2,000' Currency='USD'>
5
+ <Number>1076 2478 0678 5589</Number>
6
+ <Issuer>CitiBank</Issuer>
7
+ <Expiration>06/10</Expiration>
8
+ </CreditCard>
9
+ </PayInfo>
@@ -0,0 +1,103 @@
1
+ <saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
2
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ Destination="https://samlproxy.showcase.ida.digital.cabinet-office.gov.uk:443/SAML2/SSO/Response/POST"
4
+ ID="_e3e6587a-8d13-47c6-8153-18af97d0ab08"
5
+ InResponseTo="_0afc9d05-a0e8-4ca8-85b6-d6096fcdd0cf"
6
+ IssueInstant="2013-08-15T06:58:54.478Z"
7
+ Version="2.0"
8
+ xsi:type="saml2p:ResponseType"
9
+ >
10
+ <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
11
+ Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
12
+ >http://stub_idp.acme.org/post-office/SSO/POST</saml2:Issuer>
13
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
14
+ <ds:SignedInfo>
15
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
16
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
17
+ <ds:Reference URI="#_e3e6587a-8d13-47c6-8153-18af97d0ab08">
18
+ <ds:Transforms>
19
+ <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
20
+ <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
21
+ </ds:Transforms>
22
+ <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
23
+ <ds:DigestValue>2J5oHzmbC8N1UGW2hwEVT8aB0sA=</ds:DigestValue>
24
+ </ds:Reference>
25
+ </ds:SignedInfo>
26
+ <ds:SignatureValue>ixCjDwTs3HZulePsQBsXp7jUwZoMEXXXwYfmir/OVrvtPmDRFmONSlGMRDREAa5PxtLPCviaL5fu+W5n8L4GsiM/3VvBmVpky8PdpLsSWo9IEvapGGYJ37/3CprJhyk/5GLZLiDY6GlucJ9QDTwLliJnDz7iaUJTxnAqXsOLB8A=</ds:SignatureValue>
27
+ </ds:Signature>
28
+ <saml2p:Status xsi:type="saml2p:StatusType">
29
+ <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"
30
+ xsi:type="saml2p:StatusCodeType"
31
+ />
32
+ </saml2p:Status>
33
+ <saml2:EncryptedAssertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
34
+ <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
35
+ Id="_35f50720fbff674d0c13517d8c1055f7"
36
+ Type="http://www.w3.org/2001/04/xmlenc#Element"
37
+ >
38
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"
39
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
40
+ />
41
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
42
+ <ds:RetrievalMethod Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"
43
+ URI="#_cb6151de16daa2d211f217fe935c2439"
44
+ />
45
+ </ds:KeyInfo>
46
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
47
+ <xenc:CipherValue>YXef7aTXDEmPcNzUIK0BwO9cfOR3+Ld3JIj3WKXgudfk/JogEhbqfMFHxXOr+dZI/X692fpgAPSL2/kILXjQYVpJ1BnyvgJjeTDbrw+IsbeU+Zmto1wVc8GtUjJ0HG6QhvyXqDJOdjvkpO2qgviunZiq3fKNhLY//7jLLMDuIq1mzcePJ6v0J1x6A0ZpjbMuW6KX04LA/Zl3QdfqPZXC4JLNA4eOt8VSrdAujJ9I8pUSxD6G+IEwxyisMjPBCDqW9c2bHdGmVNRzrYwbmuaZmmU3a4XuHYDeVIGbSlKJZwAzyaTTB6lqD5frALZu4AJWuIHfmcP1McYBgbCET8gMjj0r0KtaCvkb5IDDnFJO3PlvxoKLI6O57pkHwLCFTxAMDT4byYEArkroOT1dVbONj6vSAa2TPQAVvywpmK5P9UCI7nIUGtNY/1p7xw9DPnWn6YEqljAa7iuswAucisQuvVTq5uUrj+LIgGEW86UWpLhUZGlyO+wwOEQC/CA9+96fj9z4h6nHT4w3F9c3gM3yVB/z5cy2b34OtKwGxkliBlzHrN0+bKlonlL/QWWl9UAhMAfBlKJ2W0/gKtmJfiqhARL8OOEINAuTNagBJsh+z7SA5bB9otwzZ1D0EEVP7mYcY7UOhAl8bljVNQ7Hc0OLqsdh5Tr6T7pVnxYulx91GKOyO65U3rkPpVY61VRq2GQSFAmAw/9kFfNy4k3JOknRCtRYSEf0OFq8H2YZHptvMQwo3/Tb/BZLlBByzYsKhRQfLF+jz4LU0qC6xuKsFWIKirONNbuMg+H2ohvJHIGDVCvpJW08OyaocFEM+FP/qsQPB7b/ysiWyX3TNRxfVy4PrS23aPun36NRSqUSdNmsWJ/CfPJ+PWbXtdWDHJvuHm82TQqZgEQbLbrrlveNzV0VUhlBDMHsxOBobXRM+X51WYlAewbC/mvvWOovVSFTFG29Vq6pwJiMilJYy+Xf3O/7mM0MNcKxazpmjcqYd+bULsJfoLNxVyYg9gv/EG0pKDuGGK4s4w/yPX7NHdC/prBDRot29g+Qg5L9+ubottfMzcJ2yBMETLTg7JY7XB9XOfzVVikLtxPta63E5YduSOfNhkI6XMnUE5/YAx8ggrfmw1MXSWs22eoiBJYF4dW6yGR7Cef/oQOGMi6Wi27+Y7JuJKHEEgpMw8hAqR16eE1yJhfH4XNEZYzksSQCAiFIIW3Mb0SaTO/kK0oh/JfvUbKZ6z/jgJZ4LmiS8E5ezn6J/Jr2O52ZBqEbrqbyQZ3x1bfKEkVAAI3Y7vK2CtgMlAqhyGwYF4otlHCyl437vh7xHpg1XIvIahpPz9JnNuY4jAXlXGuk28vFrPCjH/65wFrrK4b+5kSA5mvTTcKcNp4y6DqlEAGDA5Ji+6Y3ZGYq28rWHVyVo6GWRK1+yEQghQ2Udg1CNEdTax43Bs9jpRdve1+O8VCJkA4eu52lmJpJb5sX8+5W/rgQiOstHEAPOSD+9gqqJSOTYCR+ZIjwHmYwqU6HxLkrIgfy37gGi3ppk1+tqPAXykJAFcAnx8duaHWHLrXC2N8gkUqggGKV7/4naaKaE1sVzAJmlp++Saj9MbYb7lIlvQ7jjmEL2c1JqXKy6G0QIsKEDtAFrdoVID6l8kJTjWOPtQsrnsceaXX8AVdjNkWB2tYCQQ9OYfTahjtkG4WH6WyEskYgxbAqaIzKGmBJXruIxOOXMFfdOZd6d5IsknHzNFMqvhcOW+OzDzCtC5bPblxMkdBG8mTeibo+MRvD47sEOvmc5WR5FOOc9EcJvjTvBC5MxvdTTpnxkwYTghelnEiBdzSQFlFirtbK3CJ1LTltVN0ImAjkK+rQyOG3/vR0/payLqOj7Y/+AQHUxBjfmNnVtSu86qSUdvHrB3V/4dBGz2JigA8j57ArMWYLNwrFqNq47PDUdlxt+ffN1bSDO+n8pxXdLcs2NakRrZbtIEkOf9WdhqUdVuNXVDyBPEFhz2u+vxkT1/T46UrnxNjAFXtdaABoKEg/jduEkauoImHqEe6apgheeaFpySEOhoWjSxTr6PF44847FAePkjANj/9N/odtMULJtI5X18o/gGnEsYjnr/pcrCy5LRiMOqWu5Go4N+3gnMiEjHf6ppSkTPtrORqI+TnQ40QXYPBlpQfpXvF7VsH87Vz+46PTOFYo8q3VaAAEwf2PTnfEzuzVJVfnemAL0ge1wVXpNa4cR7YeNaFaOs4zK5LABXePbB12kummK58j2SOdGiE4pBgaNPorRBkvvdS19zE991jDo5in9X0nE89UC8QD7A8QDaYh8LNEZejc9+RTVnNuxUljo9zoW0TaPA5HEqMV5lRpPu/ibloKXPbdjOISkcoF0P0YKIazraM0jVGUOjefVJyynbzmMvDZUnJj38Lg7xg2UNy3MwHeBHqs7gbyHRdK3V1buqKHyQ9kF9OGjozq/4Sangb3kTVOR+Lt8oDrCpW1GadkNoqUCnntLAZeKfc6q95OGVHqVsy8YpBiXJap5aek165dVZ3nj2Egm6gT1LXhDrnR1XWQdkmkyfouRhTCqIZ6ztTyz8Ew2Lo92wXTP9OkfnEn3sz3PT0miMxTVUfFTN7Qi9+WnTsFzEOact/49+vUnA7lzDbotETIwgmzvZaaiqH8xMiUyUJ4cRL8q9lpD2tZ4ls3q7vN7AftUVuXTL4GsaPr3B3ASUcfYco2FHigoAxGxtOJKn7QFWctB0CqPdQKw0x2MLx5Ag/0pZ+ACBm5s64gToQuiMEoT3+2/Unp+DQFVQTB0C02LthryYc06udzEKPG8rUfLo9svJcwLZSm4ceerYNh5PpxtF8QhyoPTSBSZ5DdYPLDC4Fwqxe/TRzirWPxGZA2f13W857ATZSdzomXO8pOtOB1rt0/G+fnpb/OjnYspp2/g5bxCbbos1w2pKkyNXQUSFEuxY2Z03lqMqLnKxzXtTJHh75eAclAYt6dTzmBBM15ir3Y6brKV+5F5wUwqM+g8BL+3xZDdSC2EyBm0gDuL1tT8/SbcrQppGaJYntxJm8mpClaHtEIsYfcb3X1QdAXVLby3nEstEGizbnL2KzazMp/S+tMku9Bf7irxwumYTS6QWBM+vJFRI5/7LHoplrOmFqdbQIxuN8ybXVJgqujuhvOowiu4/y4KUqZb0Lr8KJenEUIRrM1Voray8n875JTZuosYmDi7Vl7vLf5KPH4D5b7Di58qNVxYHPbyCVWNmk1CepmHQ/foOuU7HxSPUuruoytnKKu5Gd0r5AqEdrSEXvbaRb98dxaequWwaDARztfJHMt2ciy6Ygvfv/Y4kzfO/c+RIfXiIuDnGfbBAIHNYOosxIFQMPIWA1K1QqnZ0AzTBJkSfS3fQjw8q2gWA/XCWEbK9n2+zZjXSieXbiShag4JP9B5DdcFjCAsKzDzPpBUMMmwmH1092n1jJBKZP/G/SPn3zsqqj277y1KIqYF7+St1N6Wu6kkADqQZjYhSI/jCQPW8qf0gQzg8w+Ju+15isNmM0xJH1QRK3n4CS9/Z9RLefTX9RXJo+Kz+Tnhf7UVokfrAee9AlZT0THNHS6AYotzcNwkE36s4w6eD7DhyMjUrNoGL0XagVT0ueoRtcugnTGDaWQpa1MvlmWBrv2iFX+cMes0HJyDyg2h3BWGm4DIrdkIiRe8fAukLH2STVTvEmGI1oMoV8MaakHLdjyhQ+IhapBXJYUFjo7e5fdSK8Sy80mfoLRJWWpbSMORnhiVHYwSe6Gg1+0KJ5AJI8xPwosBrSzWXh46QWM9fu0fgN1yrdD1cu2jbexUyUd0H92HNPzzVV6FMCG+WvLGxEVWNWo/Qg6sZuytuGPdER9EmH23NwDFr5/85JLGOtWznQ+WdTFbNiR0EsB1yHenhD79wx0l5wOSx6ysU3wMc9VFmfCs+h7Sb3Hk1grKZzS53vpZM8YwTfloZnYbzfGU8vCKSf/S8RZMdz/eilQfedNO8eZrCfPPzXdXjZHFpNbJQccCDxtAN5H1oXFrm9zp7yIIb8B145hoqy+kNSLKWkhI9vLhQnALprf0paTRMNjHfdQydBh76h2DJivv9JlQTehVwHnWgowcgPvhPCEU7nIv2yp7+B1qqBxJPEM3JvKhONHMH1SqyqULaTENd9EN5l6cehbUCLvS4Kuke/vQSJActmzvdI2hBVznyKsYdxt9u/FgcoIncSvGqpQS2hMrlMSYrLss8RWUP+Pzz3n3cKDL1P75ibZCSZTH6YgVEEm6U+HNGol7KVh773aUTy6g7/9zkKPUCPA8ngivCJRREhZz++q5vniQ4fCcvEF6G8zKJBY6VroeDyfW14zj2g0/7SyJ1mVl09VEZ6DRLE6IaB6H6gCRzZ180sAOiaioa8WO8MByoORt7Nt30n6+7kLXopCI6BXuWcx+OF86A4/gXK7+H8vz1oxHVP/+w7dIZfZMiQHGC12FqaOIYDkp1UYwqSOtcwRHU7V+Ps2d14CRJMTBdP4yrKk4VKvIDP8+V3Omaaj4WhhLgdPZLZEJQX4aWJmaqeE7zYm4tF/qF1LoQuhTq1dIbR5UMGADN8oXUjHhsXjgngI3h9tm+LmaynRenvStdHJCyblB4JkHkJYCYRTXlDBLTwZJlL6Us1qoRCjl0PfUZbpA4KTkwReDSBPY7I1FeOLixXmzOVeSq1DDVvtJNwzQTPjfaYxgrfHDF8QCdLmC5Y+EXlxu/HMAOWiy03zYYVMR46aBZqficIJpGhyLz6AD9iZkYWdsfRFxHGnY4J23QzRF8ibEl2WiHS8pgrYl0mdvVTBRuPb0DC2GlKzwN+AVK/XVXMgKdHCzh6YPraNIdzNjyZLnZ6sCy4bRvlhWd8ftyIpI9lF4c3O/UtJYOzVrrKKik0cVJvYb2AUQRxAlS9nMFMPtZ6hOuDcCpm9UJBq362h/oijWC+xn8lT34nRKsNIx9xtKzs7PoU8TFoX2Vl/AeT7wRdkpIILJkoSdr6+U2PNw25Gii3UbsiRUF+XNkKsNGWf/xb8xPpEuA3Wmbmpm+0F2tq7nul8OWtzGepKXgV5LfUcqbwTfdUCgmFRLy0iY2prckNEmbxRbGite/DOQRPnrUqxu8soBgbZ0GT5T0Z6gP16Tvz6LzAl59u71GPbhW0aP0iETOkCqkeaEnoSqlVwSeoUzCkdwruoeLi6ZG0T+9VHRT3nieSIvSNY+CtFocQS2bXu9dhORi8TCgfovRKGyJ6k9PMPp8CpsVYlb6piRJYD0s7LtGsidNL2sOBEk2KduhLJj02N0hY1NF+RZkG86lHwUAw+6ed6C/Tl86ke/OEqoZg7f63foyi8Yuh6szztghisI3oYVIV7+oftE2AMwMf1+Spj0WE6N3xms+K7hpp/kNzMXb0YaMbNU5btD6hdlAdrTlFY0BRJ5PuKCTsM3xQI/mGyU6nXzaPBs+Dypt4U1/ZVzdmrNOyJ8VmfXi9+rOyr49dHuMWhkGHjYte6UFjwyPvKx7TWtPXv1bJ9MuZA/wjYtFrk/ABuiKEp8KBo3pBCO5i014oTtq+0ZGhwFI0o6BhFs87+qepCeeMBJa7ZhxYhEkizXHnwvYf8HKpSiec0qj3khRoql42EDsvZFVmcjii23IWzSV3/HmbebLWnQ05UpQs7+xiSBjpPgfC0ytC3qnnFVFPyb8iVI2UOZ6hHlD/36G25YtAXhiOuwpBgOAyfx+KoQ7PlU+TwvT0ZY5+6nm6G/F03HJaBITtS7FlKbD/vT+irNASwi5kphLaQJvQaqM7C234eAZHHuu9VJknuQu+h+rXzk8WgwHgITxbl7noOTGuIkwFXBYtvztUoSfF4xNG4ShdebKbzhNsyylG+VC42gJUL7hwC3/vevyna4QphpcvTRtgIMUbZrZ3j7+4C1Ino4jdteYYd3KvfnwYoz4n7cGpmgQ4oc6YqecKrVuy+w0DYPJ5mR3xKamvlvFrL2j58vigKqSUZOx3Rq7xnD7Z0hbNMxuJifEUOpUI04+fFquBXbzJSTHpxZ0Vl08mpJPoq19ejK03IDehL+083RB7I/ew07ipmk6KEkTS+Xu0vNLH3JJfAf1vRuTJq96yFWJf7ZbK0kqV+bNGpy6WuMg3lIiGeShVpUxEg5AvJp2gCuZRAdhAmlibPjJGnrP1SFLko4HjLC4c6/4A374w1mrt7xfGOsvLMzwgiqllc4UUzhX/bDmEud8pIXDDNTSS2w1Nyt59sWVOvOr97dWvFEqP4tVeqj7Ppit8qYEr6keUrjfuArWMmDCp6fUDipFFkOXAauajgFjxThW8LISemq8sUJgcW8HUfw6b7/Gl5J23yzTPmYF1wa3n1HpODXsJae5lRYlSTP1XYY6+D/IQyWhoYiKdYFM6KcrK/uyr3fSNKHUdY9XM3R8TxgEaVZ13hTZlmbhbsh2AEESLN3heekq//f0+M7ETIW9vhUH77jO+5vaoIEh7wo8yjTe7Kbc0zuhELPoHcWpO544kmegKDeHCcavf9ZNsOPmcAa/le85dUIiQDAZxaXEd5yORuQ44SJPtH5L/qhVkjVw==</xenc:CipherValue>
48
+ </xenc:CipherData>
49
+ </xenc:EncryptedData>
50
+ <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
51
+ Id="_cb6151de16daa2d211f217fe935c2439"
52
+ >
53
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
54
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
55
+ >
56
+ <ds:DigestMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
57
+ Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
58
+ />
59
+ </xenc:EncryptionMethod>
60
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
61
+ <xenc:CipherValue>BxnBnHLtE1IjI9bTGDVs9EyJspS46SJrX4r3yYRdBJYawEp5AHWx6SgVB1TuU466ORIPX0HqdUvy8efOP/7gHhFlm/noKc+qToD1YSvGQ27kJdZbBJE+kcnDZpgqPHCR+fr3Nv/WfN+eZRYMlky1D8JaWFd1P6Eqi8xqY1BirHQ=</xenc:CipherValue>
62
+ </xenc:CipherData>
63
+ <xenc:ReferenceList>
64
+ <xenc:DataReference URI="#_35f50720fbff674d0c13517d8c1055f7" />
65
+ </xenc:ReferenceList>
66
+ </xenc:EncryptedKey>
67
+ </saml2:EncryptedAssertion>
68
+ <saml2:EncryptedAssertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
69
+ <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
70
+ Id="_db05d5b7575e140d99f8bf45cbd9fbfb"
71
+ Type="http://www.w3.org/2001/04/xmlenc#Element"
72
+ >
73
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"
74
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
75
+ />
76
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
77
+ <ds:RetrievalMethod Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"
78
+ URI="#_6c694898eaa77962e78f2a01a15db34b"
79
+ />
80
+ </ds:KeyInfo>
81
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
82
+ <xenc:CipherValue>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</xenc:CipherValue>
83
+ </xenc:CipherData>
84
+ </xenc:EncryptedData>
85
+ <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
86
+ Id="_6c694898eaa77962e78f2a01a15db34b"
87
+ >
88
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
89
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
90
+ >
91
+ <ds:DigestMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
92
+ Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
93
+ />
94
+ </xenc:EncryptionMethod>
95
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
96
+ <xenc:CipherValue>WWgxzBWoLT989XTVIiHrBBrW4BAQ4cuCkfmSVFoM1/BztSwYrslujZUoA3Iy1lTgqqQNil1RP6c7Rw2mZxz/dTCcy9hX99oRAzu/cGBDe4UnuXmN3z2oOauMaVmsOP/czf9dbJVJv76gQR3R4CVHH2kvbq563eosKGolAJMa5MU=</xenc:CipherValue>
97
+ </xenc:CipherData>
98
+ <xenc:ReferenceList>
99
+ <xenc:DataReference URI="#_db05d5b7575e140d99f8bf45cbd9fbfb" />
100
+ </xenc:ReferenceList>
101
+ </xenc:EncryptedKey>
102
+ </saml2:EncryptedAssertion>
103
+ </saml2p:Response>
@@ -0,0 +1,103 @@
1
+ <saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
2
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ Destination="https://samlproxy.showcase.ida.digital.cabinet-office.gov.uk:443/SAML2/SSO/Response/POST"
4
+ ID="_e3e6587a-8d13-47c6-8153-18af97d0ab08"
5
+ InResponseTo="_0afc9d05-a0e8-4ca8-85b6-d6096fcdd0cf"
6
+ IssueInstant="2013-08-15T06:58:54.478Z"
7
+ Version="2.0"
8
+ xsi:type="saml2p:ResponseType"
9
+ >
10
+ <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
11
+ Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
12
+ >http://stub_idp.acme.org/post-office/SSO/POST</saml2:Issuer>
13
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
14
+ <ds:SignedInfo>
15
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
16
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
17
+ <ds:Reference URI="#_e3e6587a-8d13-47c6-8153-18af97d0ab08">
18
+ <ds:Transforms>
19
+ <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
20
+ <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
21
+ </ds:Transforms>
22
+ <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
23
+ <ds:DigestValue>2J5oHzmbC8N1UGW2hwEVT8aB0sA=</ds:DigestValue>
24
+ </ds:Reference>
25
+ </ds:SignedInfo>
26
+ <ds:SignatureValue>ixCjDwTs3HZulePsQBsXp7jUwZoMEXXXwYfmir/OVrvtPmDRFmONSlGMRDREAa5PxtLPCviaL5fu+W5n8L4GsiM/3VvBmVpky8PdpLsSWo9IEvapGGYJ37/3CprJhyk/5GLZLiDY6GlucJ9QDTwLliJnDz7iaUJTxnAqXsOLB8A=</ds:SignatureValue>
27
+ </ds:Signature>
28
+ <saml2p:Status xsi:type="saml2p:StatusType">
29
+ <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"
30
+ xsi:type="saml2p:StatusCodeType"
31
+ />
32
+ </saml2p:Status>
33
+ <saml2:EncryptedAssertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
34
+ <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
35
+ Id="_35f50720fbff674d0c13517d8c1055f7"
36
+ Type="http://www.w3.org/2001/04/xmlenc#Element"
37
+ >
38
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"
39
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
40
+ />
41
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
42
+ <ds:RetrievalMethod Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"
43
+ URI="#_cb6151de16daa2d211f217fe935c2439"
44
+ />
45
+ </ds:KeyInfo>
46
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
47
+ <xenc:CipherValue>YXef7aTXDEmPcNzUIK0BwO9cfOR3+Ld3JIj3WKXgudfk/JogEhbqfMFHxXOr+dZI/X692fpgAPSL2/kILXjQYVpJ1BnyvgJjeTDbrw+IsbeU+Zmto1wVc8GtUjJ0HG6QhvyXqDJOdjvkpO2qgviunZiq3fKNhLY//7jLLMDuIq1mzcePJ6v0J1x6A0ZpjbMuW6KX04LA/Zl3QdfqPZXC4JLNA4eOt8VSrdAujJ9I8pUSxD6G+IEwxyisMjPBCDqW9c2bHdGmVNRzrYwbmuaZmmU3a4XuHYDeVIGbSlKJZwAzyaTTB6lqD5frALZu4AJWuIHfmcP1McYBgbCET8gMjj0r0KtaCvkb5IDDnFJO3PlvxoKLI6O57pkHwLCFTxAMDT4byYEArkroOT1dVbONj6vSAa2TPQAVvywpmK5P9UCI7nIUGtNY/1p7xw9DPnWn6YEqljAa7iuswAucisQuvVTq5uUrj+LIgGEW86UWpLhUZGlyO+wwOEQC/CA9+96fj9z4h6nHT4w3F9c3gM3yVB/z5cy2b34OtKwGxkliBlzHrN0+bKlonlL/QWWl9UAhMAfBlKJ2W0/gKtmJfiqhARL8OOEINAuTNagBJsh+z7SA5bB9otwzZ1D0EEVP7mYcY7UOhAl8bljVNQ7Hc0OLqsdh5Tr6T7pVnxYulx91GKOyO65U3rkPpVY61VRq2GQSFAmAw/9kFfNy4k3JOknRCtRYSEf0OFq8H2YZHptvMQwo3/Tb/BZLlBByzYsKhRQfLF+jz4LU0qC6xuKsFWIKirONNbuMg+H2ohvJHIGDVCvpJW08OyaocFEM+FP/qsQPB7b/ysiWyX3TNRxfVy4PrS23aPun36NRSqUSdNmsWJ/CfPJ+PWbXtdWDHJvuHm82TQqZgEQbLbrrlveNzV0VUhlBDMHsxOBobXRM+X51WYlAewbC/mvvWOovVSFTFG29Vq6pwJiMilJYy+Xf3O/7mM0MNcKxazpmjcqYd+bULsJfoLNxVyYg9gv/EG0pKDuGGK4s4w/yPX7NHdC/prBDRot29g+Qg5L9+ubottfMzcJ2yBMETLTg7JY7XB9XOfzVVikLtxPta63E5YduSOfNhkI6XMnUE5/YAx8ggrfmw1MXSWs22eoiBJYF4dW6yGR7Cef/oQOGMi6Wi27+Y7JuJKHEEgpMw8hAqR16eE1yJhfH4XNEZYzksSQCAiFIIW3Mb0SaTO/kK0oh/JfvUbKZ6z/jgJZ4LmiS8E5ezn6J/Jr2O52ZBqEbrqbyQZ3x1bfKEkVAAI3Y7vK2CtgMlAqhyGwYF4otlHCyl437vh7xHpg1XIvIahpPz9JnNuY4jAXlXGuk28vFrPCjH/65wFrrK4b+5kSA5mvTTcKcNp4y6DqlEAGDA5Ji+6Y3ZGYq28rWHVyVo6GWRK1+yEQghQ2Udg1CNEdTax43Bs9jpRdve1+O8VCJkA4eu52lmJpJb5sX8+5W/rgQiOstHEAPOSD+9gqqJSOTYCR+ZIjwHmYwqU6HxLkrIgfy37gGi3ppk1+tqPAXykJAFcAnx8duaHWHLrXC2N8gkUqggGKV7/4naaKaE1sVzAJmlp++Saj9MbYb7lIlvQ7jjmEL2c1JqXKy6G0QIsKEDtAFrdoVID6l8kJTjWOPtQsrnsceaXX8AVdjNkWB2tYCQQ9OYfTahjtkG4WH6WyEskYgxbAqaIzKGmBJXruIxOOXMFfdOZd6d5IsknHzNFMqvhcOW+OzDzCtC5bPblxMkdBG8mTeibo+MRvD47sEOvmc5WR5FOOc9EcJvjTvBC5MxvdTTpnxkwYTghelnEiBdzSQFlFirtbK3CJ1LTltVN0ImAjkK+rQyOG3/vR0/payLqOj7Y/+AQHUxBjfmNnVtSu86qSUdvHrB3V/4dBGz2JigA8j57ArMWYLNwrFqNq47PDUdlxt+ffN1bSDO+n8pxXdLcs2NakRrZbtIEkOf9WdhqUdVuNXVDyBPEFhz2u+vxkT1/T46UrnxNjAFXtdaABoKEg/jduEkauoImHqEe6apgheeaFpySEOhoWjSxTr6PF44847FAePkjANj/9N/odtMULJtI5X18o/gGnEsYjnr/pcrCy5LRiMOqWu5Go4N+3gnMiEjHf6ppSkTPtrORqI+TnQ40QXYPBlpQfpXvF7VsH87Vz+46PTOFYo8q3VaAAEwf2PTnfEzuzVJVfnemAL0ge1wVXpNa4cR7YeNaFaOs4zK5LABXePbB12kummK58j2SOdGiE4pBgaNPorRBkvvdS19zE991jDo5in9X0nE89UC8QD7A8QDaYh8LNEZejc9+RTVnNuxUljo9zoW0TaPA5HEqMV5lRpPu/ibloKXPbdjOISkcoF0P0YKIazraM0jVGUOjefVJyynbzmMvDZUnJj38Lg7xg2UNy3MwHeBHqs7gbyHRdK3V1buqKHyQ9kF9OGjozq/4Sangb3kTVOR+Lt8oDrCpW1GadkNoqUCnntLAZeKfc6q95OGVHqVsy8YpBiXJap5aek165dVZ3nj2Egm6gT1LXhDrnR1XWQdkmkyfouRhTCqIZ6ztTyz8Ew2Lo92wXTP9OkfnEn3sz3PT0miMxTVUfFTN7Qi9+WnTsFzEOact/49+vUnA7lzDbotETIwgmzvZaaiqH8xMiUyUJ4cRL8q9lpD2tZ4ls3q7vN7AftUVuXTL4GsaPr3B3ASUcfYco2FHigoAxGxtOJKn7QFWctB0CqPdQKw0x2MLx5Ag/0pZ+ACBm5s64gToQuiMEoT3+2/Unp+DQFVQTB0C02LthryYc06udzEKPG8rUfLo9svJcwLZSm4ceerYNh5PpxtF8QhyoPTSBSZ5DdYPLDC4Fwqxe/TRzirWPxGZA2f13W857ATZSdzomXO8pOtOB1rt0/G+fnpb/OjnYspp2/g5bxCbbos1w2pKkyNXQUSFEuxY2Z03lqMqLnKxzXtTJHh75eAclAYt6dTzmBBM15ir3Y6brKV+5F5wUwqM+g8BL+3xZDdSC2EyBm0gDuL1tT8/SbcrQppGaJYntxJm8mpClaHtEIsYfcb3X1QdAXVLby3nEstEGizbnL2KzazMp/S+tMku9Bf7irxwumYTS6QWBM+vJFRI5/7LHoplrOmFqdbQIxuN8ybXVJgqujuhvOowiu4/y4KUqZb0Lr8KJenEUIRrM1Voray8n875JTZuosYmDi7Vl7vLf5KPH4D5b7Di58qNVxYHPbyCVWNmk1CepmHQ/foOuU7HxSPUuruoytnKKu5Gd0r5AqEdrSEXvbaRb98dxaequWwaDARztfJHMt2ciy6Ygvfv/Y4kzfO/c+RIfXiIuDnGfbBAIHNYOosxIFQMPIWA1K1QqnZ0AzTBJkSfS3fQjw8q2gWA/XCWEbK9n2+zZjXSieXbiShag4JP9B5DdcFjCAsKzDzPpBUMMmwmH1092n1jJBKZP/G/SPn3zsqqj277y1KIqYF7+St1N6Wu6kkADqQZjYhSI/jCQPW8qf0gQzg8w+Ju+15isNmM0xJH1QRK3n4CS9/Z9RLefTX9RXJo+Kz+Tnhf7UVokfrAee9AlZT0THNHS6AYotzcNwkE36s4w6eD7DhyMjUrNoGL0XagVT0ueoRtcugnTGDaWQpa1MvlmWBrv2iFX+cMes0HJyDyg2h3BWGm4DIrdkIiRe8fAukLH2STVTvEmGI1oMoV8MaakHLdjyhQ+IhapBXJYUFjo7e5fdSK8Sy80mfoLRJWWpbSMORnhiVHYwSe6Gg1+0KJ5AJI8xPwosBrSzWXh46QWM9fu0fgN1yrdD1cu2jbexUyUd0H92HNPzzVV6FMCG+WvLGxEVWNWo/Qg6sZuytuGPdER9EmH23NwDFr5/85JLGOtWznQ+WdTFbNiR0EsB1yHenhD79wx0l5wOSx6ysU3wMc9VFmfCs+h7Sb3Hk1grKZzS53vpZM8YwTfloZnYbzfGU8vCKSf/S8RZMdz/eilQfedNO8eZrCfPPzXdXjZHFpNbJQccCDxtAN5H1oXFrm9zp7yIIb8B145hoqy+kNSLKWkhI9vLhQnALprf0paTRMNjHfdQydBh76h2DJivv9JlQTehVwHnWgowcgPvhPCEU7nIv2yp7+B1qqBxJPEM3JvKhONHMH1SqyqULaTENd9EN5l6cehbUCLvS4Kuke/vQSJActmzvdI2hBVznyKsYdxt9u/FgcoIncSvGqpQS2hMrlMSYrLss8RWUP+Pzz3n3cKDL1P75ibZCSZTH6YgVEEm6U+HNGol7KVh773aUTy6g7/9zkKPUCPA8ngivCJRREhZz++q5vniQ4fCcvEF6G8zKJBY6VroeDyfW14zj2g0/7SyJ1mVl09VEZ6DRLE6IaB6H6gCRzZ180sAOiaioa8WO8MByoORt7Nt30n6+7kLXopCI6BXuWcx+OF86A4/gXK7+H8vz1oxHVP/+w7dIZfZMiQHGC12FqaOIYDkp1UYwqSOtcwRHU7V+Ps2d14CRJMTBdP4yrKk4VKvIDP8+V3Omaaj4WhhLgdPZLZEJQX4aWJmaqeE7zYm4tF/qF1LoQuhTq1dIbR5UMGADN8oXUjHhsXjgngI3h9tm+LmaynRenvStdHJCyblB4JkHkJYCYRTXlDBLTwZJlL6Us1qoRCjl0PfUZbpA4KTkwReDSBPY7I1FeOLixXmzOVeSq1DDVvtJNwzQTPjfaYxgrfHDF8QCdLmC5Y+EXlxu/HMAOWiy03zYYVMR46aBZqficIJpGhyLz6AD9iZkYWdsfRFxHGnY4J23QzRF8ibEl2WiHS8pgrYl0mdvVTBRuPb0DC2GlKzwN+AVK/XVXMgKdHCzh6YPraNIdzNjyZLnZ6sCy4bRvlhWd8ftyIpI9lF4c3O/UtJYOzVrrKKik0cVJvYb2AUQRxAlS9nMFMPtZ6hOuDcCpm9UJBq362h/oijWC+xn8lT34nRKsNIx9xtKzs7PoU8TFoX2Vl/AeT7wRdkpIILJkoSdr6+U2PNw25Gii3UbsiRUF+XNkKsNGWf/xb8xPpEuA3Wmbmpm+0F2tq7nul8OWtzGepKXgV5LfUcqbwTfdUCgmFRLy0iY2prckNEmbxRbGite/DOQRPnrUqxu8soBgbZ0GT5T0Z6gP16Tvz6LzAl59u71GPbhW0aP0iETOkCqkeaEnoSqlVwSeoUzCkdwruoeLi6ZG0T+9VHRT3nieSIvSNY+CtFocQS2bXu9dhORi8TCgfovRKGyJ6k9PMPp8CpsVYlb6piRJYD0s7LtGsidNL2sOBEk2KduhLJj02N0hY1NF+RZkG86lHwUAw+6ed6C/Tl86ke/OEqoZg7f63foyi8Yuh6szztghisI3oYVIV7+oftE2AMwMf1+Spj0WE6N3xms+K7hpp/kNzMXb0YaMbNU5btD6hdlAdrTlFY0BRJ5PuKCTsM3xQI/mGyU6nXzaPBs+Dypt4U1/ZVzdmrNOyJ8VmfXi9+rOyr49dHuMWhkGHjYte6UFjwyPvKx7TWtPXv1bJ9MuZA/wjYtFrk/ABuiKEp8KBo3pBCO5i014oTtq+0ZGhwFI0o6BhFs87+qepCeeMBJa7ZhxYhEkizXHnwvYf8HKpSiec0qj3khRoql42EDsvZFVmcjii23IWzSV3/HmbebLWnQ05UpQs7+xiSBjpPgfC0ytC3qnnFVFPyb8iVI2UOZ6hHlD/36G25YtAXhiOuwpBgOAyfx+KoQ7PlU+TwvT0ZY5+6nm6G/F03HJaBITtS7FlKbD/vT+irNASwi5kphLaQJvQaqM7C234eAZHHuu9VJknuQu+h+rXzk8WgwHgITxbl7noOTGuIkwFXBYtvztUoSfF4xNG4ShdebKbzhNsyylG+VC42gJUL7hwC3/vevyna4QphpcvTRtgIMUbZrZ3j7+4C1Ino4jdteYYd3KvfnwYoz4n7cGpmgQ4oc6YqecKrVuy+w0DYPJ5mR3xKamvlvFrL2j58vigKqSUZOx3Rq7xnD7Z0hbNMxuJifEUOpUI04+fFquBXbzJSTHpxZ0Vl08mpJPoq19ejK03IDehL+083RB7I/ew07ipmk6KEkTS+Xu0vNLH3JJfAf1vRuTJq96yFWJf7ZbK0kqV+bNGpy6WuMg3lIiGeShVpUxEg5AvJp2gCuZRAdhAmlibPjJGnrP1SFLko4HjLC4c6/4A374w1mrt7xfGOsvLMzwgiqllc4UUzhX/bDmEud8pIXDDNTSS2w1Nyt59sWVOvOr97dWvFEqP4tVeqj7Ppit8qYEr6keUrjfuArWMmDCp6fUDipFFkOXAauajgFjxThW8LISemq8sUJgcW8HUfw6b7/Gl5J23yzTPmYF1wa3n1HpODXsJae5lRYlSTP1XYY6+D/IQyWhoYiKdYFM6KcrK/uyr3fSNKHUdY9XM3R8TxgEaVZ13hTZlmbhbsh2AEESLN3heekq//f0+M7ETIW9vhUH77jO+5vaoIEh7wo8yjTe7Kbc0zuhELPoHcWpO544kmegKDeHCcavf9ZNsOPmcAa/le85dUIiQDAZxaXEd5yORuQ44SJPtH5L/qhVkjVw==</xenc:CipherValue>
48
+ </xenc:CipherData>
49
+ </xenc:EncryptedData>
50
+ <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
51
+ Id="_cb6151de16daa2d211f217fe935c2439"
52
+ >
53
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
54
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
55
+ >
56
+ <ds:DigestMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
57
+ Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
58
+ />
59
+ </xenc:EncryptionMethod>
60
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
61
+ <xenc:CipherValue>BxnBnHLtE1IjI9bTGDVs9EyJspS46SJrX4r3yYRdBJYawEp5AHWx6SgVB1TuU466ORIPX0HqdUvy8efOP/7gHhFlm/noKc+qToD1YSvGQ27kJdZbBJE+kcnDZpgqPHCR+fr3Nv/WfN+eZRYMlky1D8JaWFd1P6Eqi8xqY1BirHQ=</xenc:CipherValue>
62
+ </xenc:CipherData>
63
+ <xenc:ReferenceList>
64
+ <xenc:DataReference URI="#_35f50720fbff674d0c13517d8c1055f7" />
65
+ </xenc:ReferenceList>
66
+ </xenc:EncryptedKey>
67
+ </saml2:EncryptedAssertion>
68
+ <saml2:EncryptedAssertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
69
+ <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
70
+ Id="_db05d5b7575e140d99f8bf45cbd9fbfb"
71
+ Type="http://www.w3.org/2001/04/xmlenc#Element"
72
+ >
73
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"
74
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
75
+ />
76
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
77
+ <ds:RetrievalMethod Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"
78
+ URI="#_6c694898eaa77962e78f2a01a15db34b"
79
+ />
80
+ </ds:KeyInfo>
81
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
82
+ <xenc:CipherValue>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</xenc:CipherValue>
83
+ </xenc:CipherData>
84
+ </xenc:EncryptedData>
85
+ <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
86
+ Id="_6c694898eaa77962e78f2a01a15db34b"
87
+ >
88
+ <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
89
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
90
+ >
91
+ <ds:DigestMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
92
+ Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
93
+ />
94
+ </xenc:EncryptionMethod>
95
+ <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
96
+ <xenc:CipherValue>WWgxzBWoLT989XTVIiHrBBrW4BAQ4cuCkfmSVFoM1/BztSwYrslujZUoA3Iy1lTgqqQNil1RP6c7Rw2mZxz/dTCcy9hX99oRAzu/cGBDe4UnuXmN3z2oOauMaVmsOP/czf9dbJVJv76gQR3R4CVHH2kvbq563eosKGolAJMa5MU=</xenc:CipherValue>
97
+ </xenc:CipherData>
98
+ <xenc:ReferenceList>
99
+ <xenc:DataReference URI="#_db05d5b7575e140d99f8bf45cbd9fbfb" />
100
+ </xenc:ReferenceList>
101
+ </xenc:EncryptedKey>
102
+ </saml2:EncryptedAssertion>
103
+ </saml2p:Response>
@@ -42,6 +42,17 @@ describe Xmldsig do
42
42
  end
43
43
  end
44
44
  end
45
+
46
+ Dir["spec/fixtures/signed/*.xml"].each do |document|
47
+ describe "#{document}" do
48
+ let(:signed_document) { Xmldsig::SignedDocument.new(File.read(document)) }
49
+ let(:certificate) { OpenSSL::X509::Certificate.new(File.read(document.gsub('.xml', '.cert'))) }
50
+
51
+ it "should be validateable" do
52
+ signed_document.validate(certificate).should be_true
53
+ end
54
+ end
55
+ end
45
56
  end
46
57
 
47
58
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xmldsig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
5
- prerelease:
4
+ version: 0.2.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - benoist
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-03 00:00:00.000000000 Z
11
+ date: 2013-11-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: nokogiri
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -36,13 +33,14 @@ extra_rdoc_files: []
36
33
  files:
37
34
  - .gitignore
38
35
  - .rspec
39
- - .travis.yaml
36
+ - .travis.yml
40
37
  - CHANGELOG.md
41
38
  - Gemfile
42
39
  - Guardfile
43
40
  - LICENSE
44
41
  - README.md
45
42
  - Rakefile
43
+ - decrypt.rb
46
44
  - lib/xmldsig.rb
47
45
  - lib/xmldsig/canonicalizer.rb
48
46
  - lib/xmldsig/reference.rb
@@ -53,10 +51,15 @@ files:
53
51
  - lib/xmldsig/transforms/enveloped_signature.rb
54
52
  - lib/xmldsig/transforms/transform.rb
55
53
  - lib/xmldsig/version.rb
54
+ - rsa_ext.rb
56
55
  - signing_service.rb
57
56
  - spec/fixtures/certificate.cer
58
57
  - spec/fixtures/certificate2.cer
58
+ - spec/fixtures/doc-plain.xml
59
+ - spec/fixtures/encryptedResponse.xml
60
+ - spec/fixtures/encrypted_assertion.xml
59
61
  - spec/fixtures/key.pem
62
+ - spec/fixtures/keysncerts/post-office.pk8
60
63
  - spec/fixtures/signed.xml
61
64
  - spec/fixtures/signed/ideal.cert
62
65
  - spec/fixtures/signed/ideal.txt
@@ -81,32 +84,35 @@ files:
81
84
  - xmldsig.gemspec
82
85
  homepage: https://github.com/benoist/xmldsig
83
86
  licenses: []
87
+ metadata: {}
84
88
  post_install_message:
85
89
  rdoc_options: []
86
90
  require_paths:
87
91
  - lib
88
92
  required_ruby_version: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
94
  - - ! '>='
92
95
  - !ruby/object:Gem::Version
93
96
  version: '0'
94
97
  required_rubygems_version: !ruby/object:Gem::Requirement
95
- none: false
96
98
  requirements:
97
99
  - - ! '>='
98
100
  - !ruby/object:Gem::Version
99
101
  version: '0'
100
102
  requirements: []
101
103
  rubyforge_project:
102
- rubygems_version: 1.8.25
104
+ rubygems_version: 2.0.7
103
105
  signing_key:
104
- specification_version: 3
106
+ specification_version: 4
105
107
  summary: This gem is a (partial) implementation of the XMLDsig specification (http://www.w3.org/TR/xmldsig-core)
106
108
  test_files:
107
109
  - spec/fixtures/certificate.cer
108
110
  - spec/fixtures/certificate2.cer
111
+ - spec/fixtures/doc-plain.xml
112
+ - spec/fixtures/encryptedResponse.xml
113
+ - spec/fixtures/encrypted_assertion.xml
109
114
  - spec/fixtures/key.pem
115
+ - spec/fixtures/keysncerts/post-office.pk8
110
116
  - spec/fixtures/signed.xml
111
117
  - spec/fixtures/signed/ideal.cert
112
118
  - spec/fixtures/signed/ideal.txt