saml-kit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/exe/saml-kit-decode-http-redirect +7 -0
- data/lib/saml/kit.rb +60 -0
- data/lib/saml/kit/authentication_request.rb +78 -0
- data/lib/saml/kit/binding.rb +40 -0
- data/lib/saml/kit/configuration.rb +36 -0
- data/lib/saml/kit/default_registry.rb +49 -0
- data/lib/saml/kit/document.rb +96 -0
- data/lib/saml/kit/fingerprint.rb +40 -0
- data/lib/saml/kit/http_post_binding.rb +27 -0
- data/lib/saml/kit/http_redirect_binding.rb +58 -0
- data/lib/saml/kit/identity_provider_metadata.rb +122 -0
- data/lib/saml/kit/invalid_document.rb +13 -0
- data/lib/saml/kit/locales/en.yml +25 -0
- data/lib/saml/kit/logout_request.rb +78 -0
- data/lib/saml/kit/logout_response.rb +63 -0
- data/lib/saml/kit/metadata.rb +171 -0
- data/lib/saml/kit/namespaces.rb +47 -0
- data/lib/saml/kit/requestable.rb +14 -0
- data/lib/saml/kit/respondable.rb +35 -0
- data/lib/saml/kit/response.rb +197 -0
- data/lib/saml/kit/self_signed_certificate.rb +30 -0
- data/lib/saml/kit/serializable.rb +31 -0
- data/lib/saml/kit/service_provider_metadata.rb +99 -0
- data/lib/saml/kit/signature.rb +75 -0
- data/lib/saml/kit/trustable.rb +62 -0
- data/lib/saml/kit/url_builder.rb +38 -0
- data/lib/saml/kit/version.rb +5 -0
- data/lib/saml/kit/xml.rb +57 -0
- data/lib/saml/kit/xsd/MetadataExchange.xsd +95 -0
- data/lib/saml/kit/xsd/oasis-200401-wss-wssecurity-secext-1.0.xsd +196 -0
- data/lib/saml/kit/xsd/oasis-200401-wss-wssecurity-utility-1.0.xsd +95 -0
- data/lib/saml/kit/xsd/saml-schema-assertion-2.0.xsd +283 -0
- data/lib/saml/kit/xsd/saml-schema-authn-context-2.0.xsd +23 -0
- data/lib/saml/kit/xsd/saml-schema-authn-context-types-2.0.xsd +821 -0
- data/lib/saml/kit/xsd/saml-schema-metadata-2.0.xsd +335 -0
- data/lib/saml/kit/xsd/saml-schema-protocol-2.0.xsd +302 -0
- data/lib/saml/kit/xsd/sstc-metadata-attr.xsd +35 -0
- data/lib/saml/kit/xsd/sstc-saml-attribute-ext.xsd +25 -0
- data/lib/saml/kit/xsd/sstc-saml-metadata-algsupport-v1.0.xsd +41 -0
- data/lib/saml/kit/xsd/sstc-saml-metadata-ui-v1.0.xsd +89 -0
- data/lib/saml/kit/xsd/ws-addr.xsd +120 -0
- data/lib/saml/kit/xsd/ws-authorization.xsd +145 -0
- data/lib/saml/kit/xsd/ws-federation.xsd +471 -0
- data/lib/saml/kit/xsd/ws-securitypolicy-1.2.xsd +900 -0
- data/lib/saml/kit/xsd/xenc-schema.xsd +136 -0
- data/lib/saml/kit/xsd/xml.xsd +287 -0
- data/lib/saml/kit/xsd/xmldsig-core-schema.xsd +309 -0
- data/lib/saml/kit/xsd_validatable.rb +19 -0
- data/saml-kit.gemspec +35 -0
- metadata +243 -0
@@ -0,0 +1,136 @@
|
|
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
|
+
|
@@ -0,0 +1,287 @@
|
|
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
|
+
<schema . . .>
|
208
|
+
. . .
|
209
|
+
<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
|
+
<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
|
+
<type . . .>
|
225
|
+
. . .
|
226
|
+
<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
|
+
|
@@ -0,0 +1,309 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
|
3
|
+
<!-- Schema for XML Signatures
|
4
|
+
http://www.w3.org/2000/09/xmldsig#
|
5
|
+
$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
|
6
|
+
|
7
|
+
Copyright 2001 The Internet Society and W3C (Massachusetts Institute
|
8
|
+
of Technology, Institut National de Recherche en Informatique et en
|
9
|
+
Automatique, Keio University). All Rights Reserved.
|
10
|
+
http://www.w3.org/Consortium/Legal/
|
11
|
+
|
12
|
+
This document is governed by the W3C Software License [1] as described
|
13
|
+
in the FAQ [2].
|
14
|
+
|
15
|
+
[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
|
16
|
+
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
|
17
|
+
-->
|
18
|
+
|
19
|
+
|
20
|
+
<schema xmlns="http://www.w3.org/2001/XMLSchema"
|
21
|
+
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
22
|
+
targetNamespace="http://www.w3.org/2000/09/xmldsig#"
|
23
|
+
version="0.1" elementFormDefault="qualified">
|
24
|
+
|
25
|
+
<!-- Basic Types Defined for Signatures -->
|
26
|
+
|
27
|
+
<simpleType name="CryptoBinary">
|
28
|
+
<restriction base="base64Binary">
|
29
|
+
</restriction>
|
30
|
+
</simpleType>
|
31
|
+
|
32
|
+
<!-- Start Signature -->
|
33
|
+
|
34
|
+
<element name="Signature" type="ds:SignatureType"/>
|
35
|
+
<complexType name="SignatureType">
|
36
|
+
<sequence>
|
37
|
+
<element ref="ds:SignedInfo"/>
|
38
|
+
<element ref="ds:SignatureValue"/>
|
39
|
+
<element ref="ds:KeyInfo" minOccurs="0"/>
|
40
|
+
<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
|
41
|
+
</sequence>
|
42
|
+
<attribute name="Id" type="ID" use="optional"/>
|
43
|
+
</complexType>
|
44
|
+
|
45
|
+
<element name="SignatureValue" type="ds:SignatureValueType"/>
|
46
|
+
<complexType name="SignatureValueType">
|
47
|
+
<simpleContent>
|
48
|
+
<extension base="base64Binary">
|
49
|
+
<attribute name="Id" type="ID" use="optional"/>
|
50
|
+
</extension>
|
51
|
+
</simpleContent>
|
52
|
+
</complexType>
|
53
|
+
|
54
|
+
<!-- Start SignedInfo -->
|
55
|
+
|
56
|
+
<element name="SignedInfo" type="ds:SignedInfoType"/>
|
57
|
+
<complexType name="SignedInfoType">
|
58
|
+
<sequence>
|
59
|
+
<element ref="ds:CanonicalizationMethod"/>
|
60
|
+
<element ref="ds:SignatureMethod"/>
|
61
|
+
<element ref="ds:Reference" maxOccurs="unbounded"/>
|
62
|
+
</sequence>
|
63
|
+
<attribute name="Id" type="ID" use="optional"/>
|
64
|
+
</complexType>
|
65
|
+
|
66
|
+
<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
|
67
|
+
<complexType name="CanonicalizationMethodType" mixed="true">
|
68
|
+
<sequence>
|
69
|
+
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
|
70
|
+
<!-- (0,unbounded) elements from (1,1) namespace -->
|
71
|
+
</sequence>
|
72
|
+
<attribute name="Algorithm" type="anyURI" use="required"/>
|
73
|
+
</complexType>
|
74
|
+
|
75
|
+
<element name="SignatureMethod" type="ds:SignatureMethodType"/>
|
76
|
+
<complexType name="SignatureMethodType" mixed="true">
|
77
|
+
<sequence>
|
78
|
+
<element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
|
79
|
+
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
|
80
|
+
<!-- (0,unbounded) elements from (1,1) external namespace -->
|
81
|
+
</sequence>
|
82
|
+
<attribute name="Algorithm" type="anyURI" use="required"/>
|
83
|
+
</complexType>
|
84
|
+
|
85
|
+
<!-- Start Reference -->
|
86
|
+
|
87
|
+
<element name="Reference" type="ds:ReferenceType"/>
|
88
|
+
<complexType name="ReferenceType">
|
89
|
+
<sequence>
|
90
|
+
<element ref="ds:Transforms" minOccurs="0"/>
|
91
|
+
<element ref="ds:DigestMethod"/>
|
92
|
+
<element ref="ds:DigestValue"/>
|
93
|
+
</sequence>
|
94
|
+
<attribute name="Id" type="ID" use="optional"/>
|
95
|
+
<attribute name="URI" type="anyURI" use="optional"/>
|
96
|
+
<attribute name="Type" type="anyURI" use="optional"/>
|
97
|
+
</complexType>
|
98
|
+
|
99
|
+
<element name="Transforms" type="ds:TransformsType"/>
|
100
|
+
<complexType name="TransformsType">
|
101
|
+
<sequence>
|
102
|
+
<element ref="ds:Transform" maxOccurs="unbounded"/>
|
103
|
+
</sequence>
|
104
|
+
</complexType>
|
105
|
+
|
106
|
+
<element name="Transform" type="ds:TransformType"/>
|
107
|
+
<complexType name="TransformType" mixed="true">
|
108
|
+
<choice minOccurs="0" maxOccurs="unbounded">
|
109
|
+
<any namespace="##other" processContents="lax"/>
|
110
|
+
<!-- (1,1) elements from (0,unbounded) namespaces -->
|
111
|
+
<element name="XPath" type="string"/>
|
112
|
+
</choice>
|
113
|
+
<attribute name="Algorithm" type="anyURI" use="required"/>
|
114
|
+
</complexType>
|
115
|
+
|
116
|
+
<!-- End Reference -->
|
117
|
+
|
118
|
+
<element name="DigestMethod" type="ds:DigestMethodType"/>
|
119
|
+
<complexType name="DigestMethodType" mixed="true">
|
120
|
+
<sequence>
|
121
|
+
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
122
|
+
</sequence>
|
123
|
+
<attribute name="Algorithm" type="anyURI" use="required"/>
|
124
|
+
</complexType>
|
125
|
+
|
126
|
+
<element name="DigestValue" type="ds:DigestValueType"/>
|
127
|
+
<simpleType name="DigestValueType">
|
128
|
+
<restriction base="base64Binary"/>
|
129
|
+
</simpleType>
|
130
|
+
|
131
|
+
<!-- End SignedInfo -->
|
132
|
+
|
133
|
+
<!-- Start KeyInfo -->
|
134
|
+
|
135
|
+
<element name="KeyInfo" type="ds:KeyInfoType"/>
|
136
|
+
<complexType name="KeyInfoType" mixed="true">
|
137
|
+
<choice maxOccurs="unbounded">
|
138
|
+
<element ref="ds:KeyName"/>
|
139
|
+
<element ref="ds:KeyValue"/>
|
140
|
+
<element ref="ds:RetrievalMethod"/>
|
141
|
+
<element ref="ds:X509Data"/>
|
142
|
+
<element ref="ds:PGPData"/>
|
143
|
+
<element ref="ds:SPKIData"/>
|
144
|
+
<element ref="ds:MgmtData"/>
|
145
|
+
<any processContents="lax" namespace="##other"/>
|
146
|
+
<!-- (1,1) elements from (0,unbounded) namespaces -->
|
147
|
+
</choice>
|
148
|
+
<attribute name="Id" type="ID" use="optional"/>
|
149
|
+
</complexType>
|
150
|
+
|
151
|
+
<element name="KeyName" type="string"/>
|
152
|
+
<element name="MgmtData" type="string"/>
|
153
|
+
|
154
|
+
<element name="KeyValue" type="ds:KeyValueType"/>
|
155
|
+
<complexType name="KeyValueType" mixed="true">
|
156
|
+
<choice>
|
157
|
+
<element ref="ds:DSAKeyValue"/>
|
158
|
+
<element ref="ds:RSAKeyValue"/>
|
159
|
+
<any namespace="##other" processContents="lax"/>
|
160
|
+
</choice>
|
161
|
+
</complexType>
|
162
|
+
|
163
|
+
<element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
|
164
|
+
<complexType name="RetrievalMethodType">
|
165
|
+
<sequence>
|
166
|
+
<element ref="ds:Transforms" minOccurs="0"/>
|
167
|
+
</sequence>
|
168
|
+
<attribute name="URI" type="anyURI"/>
|
169
|
+
<attribute name="Type" type="anyURI" use="optional"/>
|
170
|
+
</complexType>
|
171
|
+
|
172
|
+
<!-- Start X509Data -->
|
173
|
+
|
174
|
+
<element name="X509Data" type="ds:X509DataType"/>
|
175
|
+
<complexType name="X509DataType">
|
176
|
+
<sequence maxOccurs="unbounded">
|
177
|
+
<choice>
|
178
|
+
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
|
179
|
+
<element name="X509SKI" type="base64Binary"/>
|
180
|
+
<element name="X509SubjectName" type="string"/>
|
181
|
+
<element name="X509Certificate" type="base64Binary"/>
|
182
|
+
<element name="X509CRL" type="base64Binary"/>
|
183
|
+
<any namespace="##other" processContents="lax"/>
|
184
|
+
</choice>
|
185
|
+
</sequence>
|
186
|
+
</complexType>
|
187
|
+
|
188
|
+
<complexType name="X509IssuerSerialType">
|
189
|
+
<sequence>
|
190
|
+
<element name="X509IssuerName" type="string"/>
|
191
|
+
<element name="X509SerialNumber" type="integer"/>
|
192
|
+
</sequence>
|
193
|
+
</complexType>
|
194
|
+
|
195
|
+
<!-- End X509Data -->
|
196
|
+
|
197
|
+
<!-- Begin PGPData -->
|
198
|
+
|
199
|
+
<element name="PGPData" type="ds:PGPDataType"/>
|
200
|
+
<complexType name="PGPDataType">
|
201
|
+
<choice>
|
202
|
+
<sequence>
|
203
|
+
<element name="PGPKeyID" type="base64Binary"/>
|
204
|
+
<element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
|
205
|
+
<any namespace="##other" processContents="lax" minOccurs="0"
|
206
|
+
maxOccurs="unbounded"/>
|
207
|
+
</sequence>
|
208
|
+
<sequence>
|
209
|
+
<element name="PGPKeyPacket" type="base64Binary"/>
|
210
|
+
<any namespace="##other" processContents="lax" minOccurs="0"
|
211
|
+
maxOccurs="unbounded"/>
|
212
|
+
</sequence>
|
213
|
+
</choice>
|
214
|
+
</complexType>
|
215
|
+
|
216
|
+
<!-- End PGPData -->
|
217
|
+
|
218
|
+
<!-- Begin SPKIData -->
|
219
|
+
|
220
|
+
<element name="SPKIData" type="ds:SPKIDataType"/>
|
221
|
+
<complexType name="SPKIDataType">
|
222
|
+
<sequence maxOccurs="unbounded">
|
223
|
+
<element name="SPKISexp" type="base64Binary"/>
|
224
|
+
<any namespace="##other" processContents="lax" minOccurs="0"/>
|
225
|
+
</sequence>
|
226
|
+
</complexType>
|
227
|
+
|
228
|
+
<!-- End SPKIData -->
|
229
|
+
|
230
|
+
<!-- End KeyInfo -->
|
231
|
+
|
232
|
+
<!-- Start Object (Manifest, SignatureProperty) -->
|
233
|
+
|
234
|
+
<element name="Object" type="ds:ObjectType"/>
|
235
|
+
<complexType name="ObjectType" mixed="true">
|
236
|
+
<sequence minOccurs="0" maxOccurs="unbounded">
|
237
|
+
<any namespace="##any" processContents="lax"/>
|
238
|
+
</sequence>
|
239
|
+
<attribute name="Id" type="ID" use="optional"/>
|
240
|
+
<attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
|
241
|
+
<attribute name="Encoding" type="anyURI" use="optional"/>
|
242
|
+
</complexType>
|
243
|
+
|
244
|
+
<element name="Manifest" type="ds:ManifestType"/>
|
245
|
+
<complexType name="ManifestType">
|
246
|
+
<sequence>
|
247
|
+
<element ref="ds:Reference" maxOccurs="unbounded"/>
|
248
|
+
</sequence>
|
249
|
+
<attribute name="Id" type="ID" use="optional"/>
|
250
|
+
</complexType>
|
251
|
+
|
252
|
+
<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
|
253
|
+
<complexType name="SignaturePropertiesType">
|
254
|
+
<sequence>
|
255
|
+
<element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
|
256
|
+
</sequence>
|
257
|
+
<attribute name="Id" type="ID" use="optional"/>
|
258
|
+
</complexType>
|
259
|
+
|
260
|
+
<element name="SignatureProperty" type="ds:SignaturePropertyType"/>
|
261
|
+
<complexType name="SignaturePropertyType" mixed="true">
|
262
|
+
<choice maxOccurs="unbounded">
|
263
|
+
<any namespace="##other" processContents="lax"/>
|
264
|
+
<!-- (1,1) elements from (1,unbounded) namespaces -->
|
265
|
+
</choice>
|
266
|
+
<attribute name="Target" type="anyURI" use="required"/>
|
267
|
+
<attribute name="Id" type="ID" use="optional"/>
|
268
|
+
</complexType>
|
269
|
+
|
270
|
+
<!-- End Object (Manifest, SignatureProperty) -->
|
271
|
+
|
272
|
+
<!-- Start Algorithm Parameters -->
|
273
|
+
|
274
|
+
<simpleType name="HMACOutputLengthType">
|
275
|
+
<restriction base="integer"/>
|
276
|
+
</simpleType>
|
277
|
+
|
278
|
+
<!-- Start KeyValue Element-types -->
|
279
|
+
|
280
|
+
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
|
281
|
+
<complexType name="DSAKeyValueType">
|
282
|
+
<sequence>
|
283
|
+
<sequence minOccurs="0">
|
284
|
+
<element name="P" type="ds:CryptoBinary"/>
|
285
|
+
<element name="Q" type="ds:CryptoBinary"/>
|
286
|
+
</sequence>
|
287
|
+
<element name="G" type="ds:CryptoBinary" minOccurs="0"/>
|
288
|
+
<element name="Y" type="ds:CryptoBinary"/>
|
289
|
+
<element name="J" type="ds:CryptoBinary" minOccurs="0"/>
|
290
|
+
<sequence minOccurs="0">
|
291
|
+
<element name="Seed" type="ds:CryptoBinary"/>
|
292
|
+
<element name="PgenCounter" type="ds:CryptoBinary"/>
|
293
|
+
</sequence>
|
294
|
+
</sequence>
|
295
|
+
</complexType>
|
296
|
+
|
297
|
+
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
|
298
|
+
<complexType name="RSAKeyValueType">
|
299
|
+
<sequence>
|
300
|
+
<element name="Modulus" type="ds:CryptoBinary"/>
|
301
|
+
<element name="Exponent" type="ds:CryptoBinary"/>
|
302
|
+
</sequence>
|
303
|
+
</complexType>
|
304
|
+
|
305
|
+
<!-- End KeyValue Element-types -->
|
306
|
+
|
307
|
+
<!-- End Signature -->
|
308
|
+
|
309
|
+
</schema>
|