saml2 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +6 -4
  3. data/exe/bulk_verify_responses +94 -0
  4. data/lib/saml2/assertion.rb +7 -7
  5. data/lib/saml2/attribute/x500.rb +31 -28
  6. data/lib/saml2/attribute.rb +53 -49
  7. data/lib/saml2/attribute_consuming_service.rb +29 -31
  8. data/lib/saml2/authn_request.rb +54 -47
  9. data/lib/saml2/authn_statement.rb +31 -20
  10. data/lib/saml2/base.rb +72 -63
  11. data/lib/saml2/bindings/http_post.rb +7 -7
  12. data/lib/saml2/bindings/http_redirect.rb +37 -33
  13. data/lib/saml2/bindings.rb +1 -1
  14. data/lib/saml2/conditions.rb +19 -16
  15. data/lib/saml2/contact.rb +19 -18
  16. data/lib/saml2/endpoint.rb +14 -11
  17. data/lib/saml2/entity.rb +27 -27
  18. data/lib/saml2/identity_provider.rb +13 -10
  19. data/lib/saml2/indexed_object.rb +15 -12
  20. data/lib/saml2/key.rb +43 -34
  21. data/lib/saml2/localized_name.rb +11 -10
  22. data/lib/saml2/logout_request.rb +8 -8
  23. data/lib/saml2/logout_response.rb +4 -4
  24. data/lib/saml2/message.rb +24 -20
  25. data/lib/saml2/name_id.rb +45 -41
  26. data/lib/saml2/namespaces.rb +8 -8
  27. data/lib/saml2/organization.rb +11 -10
  28. data/lib/saml2/organization_and_contacts.rb +5 -5
  29. data/lib/saml2/request.rb +3 -3
  30. data/lib/saml2/requested_authn_context.rb +4 -4
  31. data/lib/saml2/response.rb +45 -33
  32. data/lib/saml2/role.rb +11 -11
  33. data/lib/saml2/schemas.rb +13 -10
  34. data/lib/saml2/service_provider.rb +11 -12
  35. data/lib/saml2/signable.rb +23 -18
  36. data/lib/saml2/sso.rb +5 -5
  37. data/lib/saml2/status.rb +9 -7
  38. data/lib/saml2/status_response.rb +5 -5
  39. data/lib/saml2/subject.rb +28 -28
  40. data/lib/saml2/version.rb +1 -1
  41. data/lib/saml2.rb +7 -7
  42. metadata +78 -137
  43. data/schemas/MetadataExchange.xsd +0 -112
  44. data/schemas/metadata_combined.xsd +0 -13
  45. data/schemas/oasis-200401-wss-wssecurity-secext-1.0.xsd +0 -195
  46. data/schemas/oasis-200401-wss-wssecurity-utility-1.0.xsd +0 -108
  47. data/schemas/saml-schema-assertion-2.0.xsd +0 -283
  48. data/schemas/saml-schema-metadata-2.0.xsd +0 -339
  49. data/schemas/saml-schema-protocol-2.0.xsd +0 -302
  50. data/schemas/sstc-saml-metadata-ext-query.xsd +0 -66
  51. data/schemas/ws-addr.xsd +0 -137
  52. data/schemas/ws-authorization.xsd +0 -145
  53. data/schemas/ws-federation.xsd +0 -471
  54. data/schemas/ws-securitypolicy-1.2.xsd +0 -1205
  55. data/schemas/xenc-schema.xsd +0 -136
  56. data/schemas/xml.xsd +0 -287
  57. data/schemas/xmldsig-core-schema.xsd +0 -309
  58. data/spec/fixtures/FederationMetadata.xml +0 -670
  59. data/spec/fixtures/authnrequest.xml +0 -12
  60. data/spec/fixtures/certificate.pem +0 -24
  61. data/spec/fixtures/entities.xml +0 -13
  62. data/spec/fixtures/external-uri-reference-response.xml +0 -48
  63. data/spec/fixtures/identity_provider.xml +0 -46
  64. data/spec/fixtures/noconditions_response.xml +0 -1
  65. data/spec/fixtures/othercertificate.pem +0 -25
  66. data/spec/fixtures/privatekey.key +0 -27
  67. data/spec/fixtures/response_assertion_signed_reffed_from_response.xml +0 -6
  68. data/spec/fixtures/response_signed.xml +0 -46
  69. data/spec/fixtures/response_tampered_certificate.xml +0 -25
  70. data/spec/fixtures/response_tampered_signature.xml +0 -46
  71. data/spec/fixtures/response_with_attribute_signed.xml +0 -46
  72. data/spec/fixtures/response_with_encrypted_assertion.xml +0 -58
  73. data/spec/fixtures/response_with_rsa_key_value.xml +0 -1
  74. data/spec/fixtures/response_with_signed_assertion_and_encrypted_subject.xml +0 -116
  75. data/spec/fixtures/response_without_keyinfo.xml +0 -1
  76. data/spec/fixtures/service_provider.xml +0 -79
  77. data/spec/fixtures/test3-response.xml +0 -9
  78. data/spec/fixtures/test6-response.xml +0 -10
  79. data/spec/fixtures/test7-response.xml +0 -10
  80. data/spec/fixtures/xml_missigned_assertion.xml +0 -84
  81. data/spec/fixtures/xml_signature_wrapping_attack_duplicate_ids.xml +0 -11
  82. data/spec/fixtures/xml_signature_wrapping_attack_response_attributes.xml +0 -45
  83. data/spec/fixtures/xml_signature_wrapping_attack_response_nameid.xml +0 -44
  84. data/spec/fixtures/xslt-transform-response.xml +0 -57
  85. data/spec/lib/attribute_consuming_service_spec.rb +0 -129
  86. data/spec/lib/attribute_spec.rb +0 -149
  87. data/spec/lib/authn_request_spec.rb +0 -52
  88. data/spec/lib/bindings/http_redirect_spec.rb +0 -183
  89. data/spec/lib/conditions_spec.rb +0 -74
  90. data/spec/lib/entity_spec.rb +0 -58
  91. data/spec/lib/identity_provider_spec.rb +0 -43
  92. data/spec/lib/indexed_object_spec.rb +0 -71
  93. data/spec/lib/key_spec.rb +0 -23
  94. data/spec/lib/logout_request_spec.rb +0 -33
  95. data/spec/lib/logout_response_spec.rb +0 -33
  96. data/spec/lib/message_spec.rb +0 -23
  97. data/spec/lib/response_spec.rb +0 -293
  98. data/spec/lib/service_provider_spec.rb +0 -76
  99. data/spec/lib/signable_spec.rb +0 -15
  100. data/spec/spec_helper.rb +0 -8
@@ -1,136 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
-
3
- <schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
4
- xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
5
- xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
6
- targetNamespace='http://www.w3.org/2001/04/xmlenc#'
7
- elementFormDefault='qualified'>
8
-
9
- <import namespace='http://www.w3.org/2000/09/xmldsig#'
10
- schemaLocation='xmldsig-core-schema.xsd'/>
11
-
12
- <complexType name='EncryptedType' abstract='true'>
13
- <sequence>
14
- <element name='EncryptionMethod' type='xenc:EncryptionMethodType'
15
- minOccurs='0'/>
16
- <element ref='ds:KeyInfo' minOccurs='0'/>
17
- <element ref='xenc:CipherData'/>
18
- <element ref='xenc:EncryptionProperties' minOccurs='0'/>
19
- </sequence>
20
- <attribute name='Id' type='ID' use='optional'/>
21
- <attribute name='Type' type='anyURI' use='optional'/>
22
- <attribute name='MimeType' type='string' use='optional'/>
23
- <attribute name='Encoding' type='anyURI' use='optional'/>
24
- </complexType>
25
-
26
- <complexType name='EncryptionMethodType' mixed='true'>
27
- <sequence>
28
- <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
29
- <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
30
- <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
31
- </sequence>
32
- <attribute name='Algorithm' type='anyURI' use='required'/>
33
- </complexType>
34
-
35
- <simpleType name='KeySizeType'>
36
- <restriction base="integer"/>
37
- </simpleType>
38
-
39
- <element name='CipherData' type='xenc:CipherDataType'/>
40
- <complexType name='CipherDataType'>
41
- <choice>
42
- <element name='CipherValue' type='base64Binary'/>
43
- <element ref='xenc:CipherReference'/>
44
- </choice>
45
- </complexType>
46
-
47
- <element name='CipherReference' type='xenc:CipherReferenceType'/>
48
- <complexType name='CipherReferenceType'>
49
- <choice>
50
- <element name='Transforms' type='xenc:TransformsType' minOccurs='0'/>
51
- </choice>
52
- <attribute name='URI' type='anyURI' use='required'/>
53
- </complexType>
54
-
55
- <complexType name='TransformsType'>
56
- <sequence>
57
- <element ref='ds:Transform' maxOccurs='unbounded'/>
58
- </sequence>
59
- </complexType>
60
-
61
-
62
- <element name='EncryptedData' type='xenc:EncryptedDataType'/>
63
- <complexType name='EncryptedDataType'>
64
- <complexContent>
65
- <extension base='xenc:EncryptedType'>
66
- </extension>
67
- </complexContent>
68
- </complexType>
69
-
70
- <!-- Children of ds:KeyInfo -->
71
-
72
- <element name='EncryptedKey' type='xenc:EncryptedKeyType'/>
73
- <complexType name='EncryptedKeyType'>
74
- <complexContent>
75
- <extension base='xenc:EncryptedType'>
76
- <sequence>
77
- <element ref='xenc:ReferenceList' minOccurs='0'/>
78
- <element name='CarriedKeyName' type='string' minOccurs='0'/>
79
- </sequence>
80
- <attribute name='Recipient' type='string'
81
- use='optional'/>
82
- </extension>
83
- </complexContent>
84
- </complexType>
85
-
86
- <element name="AgreementMethod" type="xenc:AgreementMethodType"/>
87
- <complexType name="AgreementMethodType" mixed="true">
88
- <sequence>
89
- <element name="KA-Nonce" minOccurs="0" type="base64Binary"/>
90
- <!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
91
- <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
92
- <element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
93
- <element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
94
- </sequence>
95
- <attribute name="Algorithm" type="anyURI" use="required"/>
96
- </complexType>
97
-
98
- <!-- End Children of ds:KeyInfo -->
99
-
100
- <element name='ReferenceList'>
101
- <complexType>
102
- <choice minOccurs='1' maxOccurs='unbounded'>
103
- <element name='DataReference' type='xenc:ReferenceType'/>
104
- <element name='KeyReference' type='xenc:ReferenceType'/>
105
- </choice>
106
- </complexType>
107
- </element>
108
-
109
- <complexType name='ReferenceType'>
110
- <sequence>
111
- <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
112
- </sequence>
113
- <attribute name='URI' type='anyURI' use='required'/>
114
- </complexType>
115
-
116
-
117
- <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/>
118
- <complexType name='EncryptionPropertiesType'>
119
- <sequence>
120
- <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/>
121
- </sequence>
122
- <attribute name='Id' type='ID' use='optional'/>
123
- </complexType>
124
-
125
- <element name='EncryptionProperty' type='xenc:EncryptionPropertyType'/>
126
- <complexType name='EncryptionPropertyType' mixed='true'>
127
- <choice maxOccurs='unbounded'>
128
- <any namespace='##other' processContents='lax'/>
129
- </choice>
130
- <attribute name='Target' type='anyURI' use='optional'/>
131
- <attribute name='Id' type='ID' use='optional'/>
132
- <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
133
- </complexType>
134
-
135
- </schema>
136
-
data/schemas/xml.xsd DELETED
@@ -1,287 +0,0 @@
1
- <?xml version='1.0'?>
2
- <?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
3
- <xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
4
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
5
- xmlns ="http://www.w3.org/1999/xhtml"
6
- xml:lang="en">
7
-
8
- <xs:annotation>
9
- <xs:documentation>
10
- <div>
11
- <h1>About the XML namespace</h1>
12
-
13
- <div class="bodytext">
14
- <p>
15
- This schema document describes the XML namespace, in a form
16
- suitable for import by other schema documents.
17
- </p>
18
- <p>
19
- See <a href="http://www.w3.org/XML/1998/namespace.html">
20
- http://www.w3.org/XML/1998/namespace.html</a> and
21
- <a href="http://www.w3.org/TR/REC-xml">
22
- http://www.w3.org/TR/REC-xml</a> for information
23
- about this namespace.
24
- </p>
25
- <p>
26
- Note that local names in this namespace are intended to be
27
- defined only by the World Wide Web Consortium or its subgroups.
28
- The names currently defined in this namespace are listed below.
29
- They should not be used with conflicting semantics by any Working
30
- Group, specification, or document instance.
31
- </p>
32
- <p>
33
- See further below in this document for more information about <a
34
- href="#usage">how to refer to this schema document from your own
35
- XSD schema documents</a> and about <a href="#nsversioning">the
36
- namespace-versioning policy governing this schema document</a>.
37
- </p>
38
- </div>
39
- </div>
40
- </xs:documentation>
41
- </xs:annotation>
42
-
43
- <xs:attribute name="lang">
44
- <xs:annotation>
45
- <xs:documentation>
46
- <div>
47
-
48
- <h3>lang (as an attribute name)</h3>
49
- <p>
50
- denotes an attribute whose value
51
- is a language code for the natural language of the content of
52
- any element; its value is inherited. This name is reserved
53
- by virtue of its definition in the XML specification.</p>
54
-
55
- </div>
56
- <div>
57
- <h4>Notes</h4>
58
- <p>
59
- Attempting to install the relevant ISO 2- and 3-letter
60
- codes as the enumerated possible values is probably never
61
- going to be a realistic possibility.
62
- </p>
63
- <p>
64
- See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
65
- http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
66
- and the IANA language subtag registry at
67
- <a href="http://www.iana.org/assignments/language-subtag-registry">
68
- http://www.iana.org/assignments/language-subtag-registry</a>
69
- for further information.
70
- </p>
71
- <p>
72
- The union allows for the 'un-declaration' of xml:lang with
73
- the empty string.
74
- </p>
75
- </div>
76
- </xs:documentation>
77
- </xs:annotation>
78
- <xs:simpleType>
79
- <xs:union memberTypes="xs:language">
80
- <xs:simpleType>
81
- <xs:restriction base="xs:string">
82
- <xs:enumeration value=""/>
83
- </xs:restriction>
84
- </xs:simpleType>
85
- </xs:union>
86
- </xs:simpleType>
87
- </xs:attribute>
88
-
89
- <xs:attribute name="space">
90
- <xs:annotation>
91
- <xs:documentation>
92
- <div>
93
-
94
- <h3>space (as an attribute name)</h3>
95
- <p>
96
- denotes an attribute whose
97
- value is a keyword indicating what whitespace processing
98
- discipline is intended for the content of the element; its
99
- value is inherited. This name is reserved by virtue of its
100
- definition in the XML specification.</p>
101
-
102
- </div>
103
- </xs:documentation>
104
- </xs:annotation>
105
- <xs:simpleType>
106
- <xs:restriction base="xs:NCName">
107
- <xs:enumeration value="default"/>
108
- <xs:enumeration value="preserve"/>
109
- </xs:restriction>
110
- </xs:simpleType>
111
- </xs:attribute>
112
-
113
- <xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
114
- <xs:documentation>
115
- <div>
116
-
117
- <h3>base (as an attribute name)</h3>
118
- <p>
119
- denotes an attribute whose value
120
- provides a URI to be used as the base for interpreting any
121
- relative URIs in the scope of the element on which it
122
- appears; its value is inherited. This name is reserved
123
- by virtue of its definition in the XML Base specification.</p>
124
-
125
- <p>
126
- See <a
127
- href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
128
- for information about this attribute.
129
- </p>
130
- </div>
131
- </xs:documentation>
132
- </xs:annotation>
133
- </xs:attribute>
134
-
135
- <xs:attribute name="id" type="xs:ID">
136
- <xs:annotation>
137
- <xs:documentation>
138
- <div>
139
-
140
- <h3>id (as an attribute name)</h3>
141
- <p>
142
- denotes an attribute whose value
143
- should be interpreted as if declared to be of type ID.
144
- This name is reserved by virtue of its definition in the
145
- xml:id specification.</p>
146
-
147
- <p>
148
- See <a
149
- href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
150
- for information about this attribute.
151
- </p>
152
- </div>
153
- </xs:documentation>
154
- </xs:annotation>
155
- </xs:attribute>
156
-
157
- <xs:attributeGroup name="specialAttrs">
158
- <xs:attribute ref="xml:base"/>
159
- <xs:attribute ref="xml:lang"/>
160
- <xs:attribute ref="xml:space"/>
161
- <xs:attribute ref="xml:id"/>
162
- </xs:attributeGroup>
163
-
164
- <xs:annotation>
165
- <xs:documentation>
166
- <div>
167
-
168
- <h3>Father (in any context at all)</h3>
169
-
170
- <div class="bodytext">
171
- <p>
172
- denotes Jon Bosak, the chair of
173
- the original XML Working Group. This name is reserved by
174
- the following decision of the W3C XML Plenary and
175
- XML Coordination groups:
176
- </p>
177
- <blockquote>
178
- <p>
179
- In appreciation for his vision, leadership and
180
- dedication the W3C XML Plenary on this 10th day of
181
- February, 2000, reserves for Jon Bosak in perpetuity
182
- the XML name "xml:Father".
183
- </p>
184
- </blockquote>
185
- </div>
186
- </div>
187
- </xs:documentation>
188
- </xs:annotation>
189
-
190
- <xs:annotation>
191
- <xs:documentation>
192
- <div xml:id="usage" id="usage">
193
- <h2><a name="usage">About this schema document</a></h2>
194
-
195
- <div class="bodytext">
196
- <p>
197
- This schema defines attributes and an attribute group suitable
198
- for use by schemas wishing to allow <code>xml:base</code>,
199
- <code>xml:lang</code>, <code>xml:space</code> or
200
- <code>xml:id</code> attributes on elements they define.
201
- </p>
202
- <p>
203
- To enable this, such a schema must import this schema for
204
- the XML namespace, e.g. as follows:
205
- </p>
206
- <pre>
207
- &lt;schema . . .>
208
- . . .
209
- &lt;import namespace="http://www.w3.org/XML/1998/namespace"
210
- schemaLocation="http://www.w3.org/2001/xml.xsd"/>
211
- </pre>
212
- <p>
213
- or
214
- </p>
215
- <pre>
216
- &lt;import namespace="http://www.w3.org/XML/1998/namespace"
217
- schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
218
- </pre>
219
- <p>
220
- Subsequently, qualified reference to any of the attributes or the
221
- group defined below will have the desired effect, e.g.
222
- </p>
223
- <pre>
224
- &lt;type . . .>
225
- . . .
226
- &lt;attributeGroup ref="xml:specialAttrs"/>
227
- </pre>
228
- <p>
229
- will define a type which will schema-validate an instance element
230
- with any of those attributes.
231
- </p>
232
- </div>
233
- </div>
234
- </xs:documentation>
235
- </xs:annotation>
236
-
237
- <xs:annotation>
238
- <xs:documentation>
239
- <div id="nsversioning" xml:id="nsversioning">
240
- <h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
241
- <div class="bodytext">
242
- <p>
243
- In keeping with the XML Schema WG's standard versioning
244
- policy, this schema document will persist at
245
- <a href="http://www.w3.org/2009/01/xml.xsd">
246
- http://www.w3.org/2009/01/xml.xsd</a>.
247
- </p>
248
- <p>
249
- At the date of issue it can also be found at
250
- <a href="http://www.w3.org/2001/xml.xsd">
251
- http://www.w3.org/2001/xml.xsd</a>.
252
- </p>
253
- <p>
254
- The schema document at that URI may however change in the future,
255
- in order to remain compatible with the latest version of XML
256
- Schema itself, or with the XML namespace itself. In other words,
257
- if the XML Schema or XML namespaces change, the version of this
258
- document at <a href="http://www.w3.org/2001/xml.xsd">
259
- http://www.w3.org/2001/xml.xsd
260
- </a>
261
- will change accordingly; the version at
262
- <a href="http://www.w3.org/2009/01/xml.xsd">
263
- http://www.w3.org/2009/01/xml.xsd
264
- </a>
265
- will not change.
266
- </p>
267
- <p>
268
- Previous dated (and unchanging) versions of this schema
269
- document are at:
270
- </p>
271
- <ul>
272
- <li><a href="http://www.w3.org/2009/01/xml.xsd">
273
- http://www.w3.org/2009/01/xml.xsd</a></li>
274
- <li><a href="http://www.w3.org/2007/08/xml.xsd">
275
- http://www.w3.org/2007/08/xml.xsd</a></li>
276
- <li><a href="http://www.w3.org/2004/10/xml.xsd">
277
- http://www.w3.org/2004/10/xml.xsd</a></li>
278
- <li><a href="http://www.w3.org/2001/03/xml.xsd">
279
- http://www.w3.org/2001/03/xml.xsd</a></li>
280
- </ul>
281
- </div>
282
- </div>
283
- </xs:documentation>
284
- </xs:annotation>
285
-
286
- </xs:schema>
287
-