1#!/usr/bin/env python
2
3#
4# Generated Mon May  2 14:23:33 2011 by parse_xsd.py version 0.4.
5#
6
7import saml2
8from saml2 import SamlBase
9
10NAMESPACE = 'http://www.w3.org/2000/09/xmldsig#'
11
12ENCODING_BASE64 = 'http://www.w3.org/2000/09/xmldsig#base64'
13
14# digest and signature algorithms (not implemented = commented out)
15DIGEST_MD5 = 'http://www.w3.org/2001/04/xmldsig-more#md5'  # test framework
16# only!
17DIGEST_SHA1 = 'http://www.w3.org/2000/09/xmldsig#sha1'
18DIGEST_SHA224 = 'http://www.w3.org/2001/04/xmldsig-more#sha224'
19DIGEST_SHA256 = 'http://www.w3.org/2001/04/xmlenc#sha256'
20DIGEST_SHA384 = 'http://www.w3.org/2001/04/xmldsig-more#sha384'
21DIGEST_SHA512 = 'http://www.w3.org/2001/04/xmlenc#sha512'
22DIGEST_RIPEMD160 = 'http://www.w3.org/2001/04/xmlenc#ripemd160'
23digest_default = DIGEST_SHA1
24DIGEST_ALLOWED_ALG = (('DIGEST_SHA1', DIGEST_SHA1),
25                      ('DIGEST_SHA224', DIGEST_SHA224),
26                      ('DIGEST_SHA256', DIGEST_SHA256),
27                      ('DIGEST_SHA384', DIGEST_SHA384),
28                      ('DIGEST_SHA512', DIGEST_SHA512),
29                      ('DIGEST_RIPEMD160', DIGEST_RIPEMD160))
30DIGEST_AVAIL_ALG = DIGEST_ALLOWED_ALG + (('DIGEST_MD5', DIGEST_MD5),)
31
32SIG_DSA_SHA1 = 'http://www.w3.org/2000/09/xmldsig#dsa-sha1'
33SIG_DSA_SHA256 = 'http://www.w3.org/2009/xmldsig11#dsa-sha256'
34SIG_ECDSA_SHA1 = 'http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1'
35SIG_ECDSA_SHA224 = 'http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224'
36SIG_ECDSA_SHA256 = 'http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256'
37SIG_ECDSA_SHA384 = 'http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384'
38SIG_ECDSA_SHA512 = 'http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512'
39SIG_RSA_MD5 = 'http://www.w3.org/2001/04/xmldsig-more#rsa-md5'  # test framework
40SIG_RSA_SHA1 = 'http://www.w3.org/2000/09/xmldsig#rsa-sha1'
41SIG_RSA_SHA224 = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha224'
42SIG_RSA_SHA256 = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256'
43SIG_RSA_SHA384 = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384'
44SIG_RSA_SHA512 = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha512'
45SIG_RSA_RIPEMD160 = 'http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160'
46sig_default = SIG_RSA_SHA1
47SIG_ALLOWED_ALG = (('SIG_RSA_SHA1', SIG_RSA_SHA1),
48                   ('SIG_RSA_SHA224', SIG_RSA_SHA224),
49                   ('SIG_RSA_SHA256', SIG_RSA_SHA256),
50                   ('SIG_RSA_SHA384', SIG_RSA_SHA384),
51                   ('SIG_RSA_SHA512', SIG_RSA_SHA512))
52SIG_AVAIL_ALG = SIG_ALLOWED_ALG + (('SIG_RSA_MD5', SIG_RSA_MD5),)
53
54MAC_SHA1 = 'http://www.w3.org/2000/09/xmldsig#hmac-sha1'
55
56TRANSFORM_XSLT = 'http://www.w3.org/TR/1999/REC-xslt-19991116'
57TRANSFORM_XPATH = 'http://www.w3.org/TR/1999/REC-xpath-19991116'
58TRANSFORM_ENVELOPED = 'http://www.w3.org/2000/09/xmldsig#enveloped-signature'
59TRANSFORM_C14N = 'http://www.w3.org/2001/10/xml-exc-c14n#'
60TRANSFORM_C14N_WITH_COMMENTS = 'http://www.w3.org/2001/10/xml-exc-c14n#WithComments'
61
62ALLOWED_CANONICALIZATIONS = {
63    TRANSFORM_C14N,
64    TRANSFORM_C14N_WITH_COMMENTS,
65}
66ALLOWED_TRANSFORMS = {
67    TRANSFORM_ENVELOPED,
68    TRANSFORM_C14N,
69    TRANSFORM_C14N_WITH_COMMENTS,
70}
71
72class DefaultSignature(object):
73    class _DefaultSignature(object):
74        def __init__(self, sign_alg=None, digest_alg=None):
75            if sign_alg is None:
76                self.sign_alg = sig_default
77            else:
78                self.sign_alg = sign_alg
79            if digest_alg is None:
80                self.digest_alg = digest_default
81            else:
82                self.digest_alg = digest_alg
83
84        def __str__(self):
85            return repr(self) + self.sign_alg
86    instance = None
87
88    def __init__(self, sign_alg=None, digest_alg=None):
89        if not DefaultSignature.instance:
90            DefaultSignature.instance = DefaultSignature._DefaultSignature(sign_alg, digest_alg)
91
92    def __getattr__(self, name):
93        return getattr(self.instance, name)
94
95    def get_sign_alg(self):
96        return self.sign_alg
97
98    def get_digest_alg(self):
99        return self.digest_alg
100
101
102class CryptoBinary_(SamlBase):
103    """The http://www.w3.org/2000/09/xmldsig#:CryptoBinary element """
104
105    c_tag = 'CryptoBinary'
106    c_namespace = NAMESPACE
107    c_value_type = {'base': 'base64Binary'}
108    c_children = SamlBase.c_children.copy()
109    c_attributes = SamlBase.c_attributes.copy()
110    c_child_order = SamlBase.c_child_order[:]
111    c_cardinality = SamlBase.c_cardinality.copy()
112
113
114def crypto_binary__from_string(xml_string):
115    return saml2.create_class_from_xml_string(CryptoBinary_, xml_string)
116
117
118class SignatureValueType_(SamlBase):
119    """The http://www.w3.org/2000/09/xmldsig#:SignatureValueType element """
120
121    c_tag = 'SignatureValueType'
122    c_namespace = NAMESPACE
123    c_value_type = {'base': 'base64Binary'}
124    c_children = SamlBase.c_children.copy()
125    c_attributes = SamlBase.c_attributes.copy()
126    c_child_order = SamlBase.c_child_order[:]
127    c_cardinality = SamlBase.c_cardinality.copy()
128    c_attributes['Id'] = ('id', 'ID', False)
129
130    def __init__(self,
131                 id=None,
132                 text=None,
133                 extension_elements=None,
134                 extension_attributes=None,
135                 ):
136        SamlBase.__init__(self,
137                          text=text,
138                          extension_elements=extension_elements,
139                          extension_attributes=extension_attributes,
140                          )
141        self.id = id
142
143
144def signature_value_type__from_string(xml_string):
145    return saml2.create_class_from_xml_string(SignatureValueType_, xml_string)
146
147
148class CanonicalizationMethodType_(SamlBase):
149    """The http://www.w3.org/2000/09/xmldsig#:CanonicalizationMethodType
150    element """
151
152    c_tag = 'CanonicalizationMethodType'
153    c_namespace = NAMESPACE
154    c_children = SamlBase.c_children.copy()
155    c_attributes = SamlBase.c_attributes.copy()
156    c_child_order = SamlBase.c_child_order[:]
157    c_cardinality = SamlBase.c_cardinality.copy()
158    c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
159
160    def __init__(self,
161                 algorithm=None,
162                 text=None,
163                 extension_elements=None,
164                 extension_attributes=None,
165                 ):
166        SamlBase.__init__(self,
167                          text=text,
168                          extension_elements=extension_elements,
169                          extension_attributes=extension_attributes,
170                          )
171        self.algorithm = algorithm
172
173
174def canonicalization_method_type__from_string(xml_string):
175    return saml2.create_class_from_xml_string(CanonicalizationMethodType_,
176                                              xml_string)
177
178
179class TransformType_XPath(SamlBase):
180    c_tag = 'XPath'
181    c_namespace = NAMESPACE
182    c_value_type = {'base': 'string'}
183    c_children = SamlBase.c_children.copy()
184    c_attributes = SamlBase.c_attributes.copy()
185    c_child_order = SamlBase.c_child_order[:]
186    c_cardinality = SamlBase.c_cardinality.copy()
187
188
189def transform_type__x_path_from_string(xml_string):
190    return saml2.create_class_from_xml_string(TransformType_XPath, xml_string)
191
192
193class TransformType_(SamlBase):
194    """The http://www.w3.org/2000/09/xmldsig#:TransformType element """
195
196    c_tag = 'TransformType'
197    c_namespace = NAMESPACE
198    c_children = SamlBase.c_children.copy()
199    c_attributes = SamlBase.c_attributes.copy()
200    c_child_order = SamlBase.c_child_order[:]
201    c_cardinality = SamlBase.c_cardinality.copy()
202    c_children['{http://www.w3.org/2000/09/xmldsig#}XPath'] = (
203        'x_path', [TransformType_XPath])
204    c_cardinality['x_path'] = {"min": 0}
205    c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
206    c_child_order.extend(['x_path'])
207
208    def __init__(self,
209                 x_path=None,
210                 algorithm=None,
211                 text=None,
212                 extension_elements=None,
213                 extension_attributes=None,
214                 ):
215        SamlBase.__init__(self,
216                          text=text,
217                          extension_elements=extension_elements,
218                          extension_attributes=extension_attributes,
219                          )
220        self.x_path = x_path or []
221        self.algorithm = algorithm
222
223
224def transform_type__from_string(xml_string):
225    return saml2.create_class_from_xml_string(TransformType_, xml_string)
226
227
228class DigestMethodType_(SamlBase):
229    """The http://www.w3.org/2000/09/xmldsig#:DigestMethodType element """
230
231    c_tag = 'DigestMethodType'
232    c_namespace = NAMESPACE
233    c_children = SamlBase.c_children.copy()
234    c_attributes = SamlBase.c_attributes.copy()
235    c_child_order = SamlBase.c_child_order[:]
236    c_cardinality = SamlBase.c_cardinality.copy()
237    c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
238
239    def __init__(self,
240                 algorithm=None,
241                 text=None,
242                 extension_elements=None,
243                 extension_attributes=None,
244                 ):
245        SamlBase.__init__(self,
246                          text=text,
247                          extension_elements=extension_elements,
248                          extension_attributes=extension_attributes,
249                          )
250        self.algorithm = algorithm
251
252
253def digest_method_type__from_string(xml_string):
254    return saml2.create_class_from_xml_string(DigestMethodType_, xml_string)
255
256
257class DigestValueType_(SamlBase):
258    """The http://www.w3.org/2000/09/xmldsig#:DigestValueType element """
259
260    c_tag = 'DigestValueType'
261    c_namespace = NAMESPACE
262    c_value_type = {'base': 'base64Binary'}
263    c_children = SamlBase.c_children.copy()
264    c_attributes = SamlBase.c_attributes.copy()
265    c_child_order = SamlBase.c_child_order[:]
266    c_cardinality = SamlBase.c_cardinality.copy()
267
268
269def digest_value_type__from_string(xml_string):
270    return saml2.create_class_from_xml_string(DigestValueType_, xml_string)
271
272
273class KeyName(SamlBase):
274    """The http://www.w3.org/2000/09/xmldsig#:KeyName element """
275
276    c_tag = 'KeyName'
277    c_namespace = NAMESPACE
278    c_value_type = {'base': 'string'}
279    c_children = SamlBase.c_children.copy()
280    c_attributes = SamlBase.c_attributes.copy()
281    c_child_order = SamlBase.c_child_order[:]
282    c_cardinality = SamlBase.c_cardinality.copy()
283
284
285def key_name_from_string(xml_string):
286    return saml2.create_class_from_xml_string(KeyName, xml_string)
287
288
289class MgmtData(SamlBase):
290    """The http://www.w3.org/2000/09/xmldsig#:MgmtData element """
291
292    c_tag = 'MgmtData'
293    c_namespace = NAMESPACE
294    c_value_type = {'base': 'string'}
295    c_children = SamlBase.c_children.copy()
296    c_attributes = SamlBase.c_attributes.copy()
297    c_child_order = SamlBase.c_child_order[:]
298    c_cardinality = SamlBase.c_cardinality.copy()
299
300
301def mgmt_data_from_string(xml_string):
302    return saml2.create_class_from_xml_string(MgmtData, xml_string)
303
304
305class X509IssuerName(SamlBase):
306    c_tag = 'X509IssuerName'
307    c_namespace = NAMESPACE
308    c_value_type = {'base': 'string'}
309    c_children = SamlBase.c_children.copy()
310    c_attributes = SamlBase.c_attributes.copy()
311    c_child_order = SamlBase.c_child_order[:]
312    c_cardinality = SamlBase.c_cardinality.copy()
313
314
315def x509_issuer_name_from_string(xml_string):
316    return saml2.create_class_from_xml_string(X509IssuerName, xml_string)
317
318
319class X509SerialNumber(SamlBase):
320    c_tag = 'X509SerialNumber'
321    c_namespace = NAMESPACE
322    c_value_type = {'base': 'integer'}
323    c_children = SamlBase.c_children.copy()
324    c_attributes = SamlBase.c_attributes.copy()
325    c_child_order = SamlBase.c_child_order[:]
326    c_cardinality = SamlBase.c_cardinality.copy()
327
328
329def x509_serial_number_from_string(xml_string):
330    return saml2.create_class_from_xml_string(X509SerialNumber, xml_string)
331
332
333class X509IssuerSerialType_(SamlBase):
334    """The http://www.w3.org/2000/09/xmldsig#:X509IssuerSerialType element """
335
336    c_tag = 'X509IssuerSerialType'
337    c_namespace = NAMESPACE
338    c_children = SamlBase.c_children.copy()
339    c_attributes = SamlBase.c_attributes.copy()
340    c_child_order = SamlBase.c_child_order[:]
341    c_cardinality = SamlBase.c_cardinality.copy()
342    c_children['{http://www.w3.org/2000/09/xmldsig#}X509IssuerName'] = (
343        'x509_issuer_name', X509IssuerName)
344    c_children['{http://www.w3.org/2000/09/xmldsig#}X509SerialNumber'] = (
345        'x509_serial_number', X509SerialNumber)
346    c_child_order.extend(['x509_issuer_name', 'x509_serial_number'])
347
348    def __init__(self,
349                 x509_issuer_name=None,
350                 x509_serial_number=None,
351                 text=None,
352                 extension_elements=None,
353                 extension_attributes=None,
354                 ):
355        SamlBase.__init__(self,
356                          text=text,
357                          extension_elements=extension_elements,
358                          extension_attributes=extension_attributes,
359                          )
360        self.x509_issuer_name = x509_issuer_name
361        self.x509_serial_number = x509_serial_number
362
363
364def x509_issuer_serial_type__from_string(xml_string):
365    return saml2.create_class_from_xml_string(X509IssuerSerialType_, xml_string)
366
367
368class PGPKeyID(SamlBase):
369    c_tag = 'PGPKeyID'
370    c_namespace = NAMESPACE
371    c_value_type = {'base': 'base64Binary'}
372    c_children = SamlBase.c_children.copy()
373    c_attributes = SamlBase.c_attributes.copy()
374    c_child_order = SamlBase.c_child_order[:]
375    c_cardinality = SamlBase.c_cardinality.copy()
376
377
378def pgp_key_id_from_string(xml_string):
379    return saml2.create_class_from_xml_string(PGPKeyID, xml_string)
380
381
382class PGPKeyPacket(SamlBase):
383    c_tag = 'PGPKeyPacket'
384    c_namespace = NAMESPACE
385    c_value_type = {'base': 'base64Binary'}
386    c_children = SamlBase.c_children.copy()
387    c_attributes = SamlBase.c_attributes.copy()
388    c_child_order = SamlBase.c_child_order[:]
389    c_cardinality = SamlBase.c_cardinality.copy()
390
391
392def pgp_key_packet_from_string(xml_string):
393    return saml2.create_class_from_xml_string(PGPKeyPacket, xml_string)
394
395
396class PGPDataType_(SamlBase):
397    """The http://www.w3.org/2000/09/xmldsig#:PGPDataType element """
398
399    c_tag = 'PGPDataType'
400    c_namespace = NAMESPACE
401    c_children = SamlBase.c_children.copy()
402    c_attributes = SamlBase.c_attributes.copy()
403    c_child_order = SamlBase.c_child_order[:]
404    c_cardinality = SamlBase.c_cardinality.copy()
405    c_children['{http://www.w3.org/2000/09/xmldsig#}PGPKeyID'] = (
406        'pgp_key_id', PGPKeyID)
407    c_children['{http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket'] = (
408        'pgp_key_packet', PGPKeyPacket)
409    c_cardinality['pgp_key_packet'] = {"min": 0, "max": 1}
410    c_child_order.extend(['pgp_key_id', 'pgp_key_packet'])
411
412    def __init__(self,
413                 pgp_key_id=None,
414                 pgp_key_packet=None,
415                 text=None,
416                 extension_elements=None,
417                 extension_attributes=None,
418                 ):
419        SamlBase.__init__(self,
420                          text=text,
421                          extension_elements=extension_elements,
422                          extension_attributes=extension_attributes,
423                          )
424        self.pgp_key_id = pgp_key_id
425        self.pgp_key_packet = pgp_key_packet
426
427
428def pgp_data_type__from_string(xml_string):
429    return saml2.create_class_from_xml_string(PGPDataType_, xml_string)
430
431
432class SPKISexp(SamlBase):
433    c_tag = 'SPKISexp'
434    c_namespace = NAMESPACE
435    c_value_type = {'base': 'base64Binary'}
436    c_children = SamlBase.c_children.copy()
437    c_attributes = SamlBase.c_attributes.copy()
438    c_child_order = SamlBase.c_child_order[:]
439    c_cardinality = SamlBase.c_cardinality.copy()
440
441
442def spki_sexp_from_string(xml_string):
443    return saml2.create_class_from_xml_string(SPKISexp, xml_string)
444
445
446class SPKIDataType_(SamlBase):
447    """The http://www.w3.org/2000/09/xmldsig#:SPKIDataType element """
448
449    c_tag = 'SPKIDataType'
450    c_namespace = NAMESPACE
451    c_children = SamlBase.c_children.copy()
452    c_attributes = SamlBase.c_attributes.copy()
453    c_child_order = SamlBase.c_child_order[:]
454    c_cardinality = SamlBase.c_cardinality.copy()
455    c_children['{http://www.w3.org/2000/09/xmldsig#}SPKISexp'] = ('spki_sexp',
456                                                                  [SPKISexp])
457    c_cardinality['spki_sexp'] = {"min": 1}
458    c_child_order.extend(['spki_sexp'])
459
460    def __init__(self,
461                 spki_sexp=None,
462                 text=None,
463                 extension_elements=None,
464                 extension_attributes=None,
465                 ):
466        SamlBase.__init__(self,
467                          text=text,
468                          extension_elements=extension_elements,
469                          extension_attributes=extension_attributes,
470                          )
471        self.spki_sexp = spki_sexp or []
472
473
474def spki_data_type__from_string(xml_string):
475    return saml2.create_class_from_xml_string(SPKIDataType_, xml_string)
476
477
478class ObjectType_(SamlBase):
479    """The http://www.w3.org/2000/09/xmldsig#:ObjectType element """
480
481    c_tag = 'ObjectType'
482    c_namespace = NAMESPACE
483    c_children = SamlBase.c_children.copy()
484    c_attributes = SamlBase.c_attributes.copy()
485    c_child_order = SamlBase.c_child_order[:]
486    c_cardinality = SamlBase.c_cardinality.copy()
487    c_attributes['Id'] = ('id', 'ID', False)
488    c_attributes['MimeType'] = ('mime_type', 'string', False)
489    c_attributes['Encoding'] = ('encoding', 'anyURI', False)
490
491    def __init__(self,
492                 id=None,
493                 mime_type=None,
494                 encoding=None,
495                 text=None,
496                 extension_elements=None,
497                 extension_attributes=None,
498                 ):
499        SamlBase.__init__(self,
500                          text=text,
501                          extension_elements=extension_elements,
502                          extension_attributes=extension_attributes,
503                          )
504        self.id = id
505        self.mime_type = mime_type
506        self.encoding = encoding
507
508
509def object_type__from_string(xml_string):
510    return saml2.create_class_from_xml_string(ObjectType_, xml_string)
511
512
513class SignaturePropertyType_(SamlBase):
514    """The http://www.w3.org/2000/09/xmldsig#:SignaturePropertyType element """
515
516    c_tag = 'SignaturePropertyType'
517    c_namespace = NAMESPACE
518    c_children = SamlBase.c_children.copy()
519    c_attributes = SamlBase.c_attributes.copy()
520    c_child_order = SamlBase.c_child_order[:]
521    c_cardinality = SamlBase.c_cardinality.copy()
522    c_attributes['Target'] = ('target', 'anyURI', True)
523    c_attributes['Id'] = ('id', 'ID', False)
524
525    def __init__(self,
526                 target=None,
527                 id=None,
528                 text=None,
529                 extension_elements=None,
530                 extension_attributes=None,
531                 ):
532        SamlBase.__init__(self,
533                          text=text,
534                          extension_elements=extension_elements,
535                          extension_attributes=extension_attributes,
536                          )
537        self.target = target
538        self.id = id
539
540
541def signature_property_type__from_string(xml_string):
542    return saml2.create_class_from_xml_string(SignaturePropertyType_,
543                                              xml_string)
544
545
546class HMACOutputLengthType_(SamlBase):
547    """The http://www.w3.org/2000/09/xmldsig#:HMACOutputLengthType element """
548
549    c_tag = 'HMACOutputLengthType'
550    c_namespace = NAMESPACE
551    c_value_type = {'base': 'integer'}
552    c_children = SamlBase.c_children.copy()
553    c_attributes = SamlBase.c_attributes.copy()
554    c_child_order = SamlBase.c_child_order[:]
555    c_cardinality = SamlBase.c_cardinality.copy()
556
557
558def hmac_output_length_type__from_string(xml_string):
559    return saml2.create_class_from_xml_string(HMACOutputLengthType_, xml_string)
560
561
562class P(CryptoBinary_):
563    c_tag = 'P'
564    c_namespace = NAMESPACE
565    c_children = CryptoBinary_.c_children.copy()
566    c_attributes = CryptoBinary_.c_attributes.copy()
567    c_child_order = CryptoBinary_.c_child_order[:]
568    c_cardinality = CryptoBinary_.c_cardinality.copy()
569
570
571def p_from_string(xml_string):
572    return saml2.create_class_from_xml_string(P, xml_string)
573
574
575class Q(CryptoBinary_):
576    c_tag = 'Q'
577    c_namespace = NAMESPACE
578    c_children = CryptoBinary_.c_children.copy()
579    c_attributes = CryptoBinary_.c_attributes.copy()
580    c_child_order = CryptoBinary_.c_child_order[:]
581    c_cardinality = CryptoBinary_.c_cardinality.copy()
582
583
584def q_from_string(xml_string):
585    return saml2.create_class_from_xml_string(Q, xml_string)
586
587
588class G(CryptoBinary_):
589    c_tag = 'G'
590    c_namespace = NAMESPACE
591    c_children = CryptoBinary_.c_children.copy()
592    c_attributes = CryptoBinary_.c_attributes.copy()
593    c_child_order = CryptoBinary_.c_child_order[:]
594    c_cardinality = CryptoBinary_.c_cardinality.copy()
595
596
597def g_from_string(xml_string):
598    return saml2.create_class_from_xml_string(G, xml_string)
599
600
601class Y(CryptoBinary_):
602    c_tag = 'Y'
603    c_namespace = NAMESPACE
604    c_children = CryptoBinary_.c_children.copy()
605    c_attributes = CryptoBinary_.c_attributes.copy()
606    c_child_order = CryptoBinary_.c_child_order[:]
607    c_cardinality = CryptoBinary_.c_cardinality.copy()
608
609
610def y_from_string(xml_string):
611    return saml2.create_class_from_xml_string(Y, xml_string)
612
613
614class J(CryptoBinary_):
615    c_tag = 'J'
616    c_namespace = NAMESPACE
617    c_children = CryptoBinary_.c_children.copy()
618    c_attributes = CryptoBinary_.c_attributes.copy()
619    c_child_order = CryptoBinary_.c_child_order[:]
620    c_cardinality = CryptoBinary_.c_cardinality.copy()
621
622
623def j_from_string(xml_string):
624    return saml2.create_class_from_xml_string(J, xml_string)
625
626
627class Seed(CryptoBinary_):
628    c_tag = 'Seed'
629    c_namespace = NAMESPACE
630    c_children = CryptoBinary_.c_children.copy()
631    c_attributes = CryptoBinary_.c_attributes.copy()
632    c_child_order = CryptoBinary_.c_child_order[:]
633    c_cardinality = CryptoBinary_.c_cardinality.copy()
634
635
636def seed_from_string(xml_string):
637    return saml2.create_class_from_xml_string(Seed, xml_string)
638
639
640class PgenCounter(CryptoBinary_):
641    c_tag = 'PgenCounter'
642    c_namespace = NAMESPACE
643    c_children = CryptoBinary_.c_children.copy()
644    c_attributes = CryptoBinary_.c_attributes.copy()
645    c_child_order = CryptoBinary_.c_child_order[:]
646    c_cardinality = CryptoBinary_.c_cardinality.copy()
647
648
649def pgen_counter_from_string(xml_string):
650    return saml2.create_class_from_xml_string(PgenCounter, xml_string)
651
652
653class DSAKeyValueType_(SamlBase):
654    """The http://www.w3.org/2000/09/xmldsig#:DSAKeyValueType element """
655
656    c_tag = 'DSAKeyValueType'
657    c_namespace = NAMESPACE
658    c_children = SamlBase.c_children.copy()
659    c_attributes = SamlBase.c_attributes.copy()
660    c_child_order = SamlBase.c_child_order[:]
661    c_cardinality = SamlBase.c_cardinality.copy()
662    c_children['{http://www.w3.org/2000/09/xmldsig#}P'] = ('p', P)
663    c_cardinality['p'] = {"min": 0, "max": 1}
664    c_children['{http://www.w3.org/2000/09/xmldsig#}Q'] = ('q', Q)
665    c_cardinality['q'] = {"min": 0, "max": 1}
666    c_children['{http://www.w3.org/2000/09/xmldsig#}G'] = ('g', G)
667    c_cardinality['g'] = {"min": 0, "max": 1}
668    c_children['{http://www.w3.org/2000/09/xmldsig#}Y'] = ('y', Y)
669    c_children['{http://www.w3.org/2000/09/xmldsig#}J'] = ('j', J)
670    c_cardinality['j'] = {"min": 0, "max": 1}
671    c_children['{http://www.w3.org/2000/09/xmldsig#}Seed'] = ('seed', Seed)
672    c_cardinality['seed'] = {"min": 0, "max": 1}
673    c_children['{http://www.w3.org/2000/09/xmldsig#}PgenCounter'] = (
674        'pgen_counter', PgenCounter)
675    c_cardinality['pgen_counter'] = {"min": 0, "max": 1}
676    c_child_order.extend(['p', 'q', 'g', 'y', 'j', 'seed', 'pgen_counter'])
677
678    def __init__(self,
679                 p=None,
680                 q=None,
681                 g=None,
682                 y=None,
683                 j=None,
684                 seed=None,
685                 pgen_counter=None,
686                 text=None,
687                 extension_elements=None,
688                 extension_attributes=None,
689                 ):
690        SamlBase.__init__(self,
691                          text=text,
692                          extension_elements=extension_elements,
693                          extension_attributes=extension_attributes,
694                          )
695        self.p = p
696        self.q = q
697        self.g = g
698        self.y = y
699        self.j = j
700        self.seed = seed
701        self.pgen_counter = pgen_counter
702
703
704def dsa_key_value_type__from_string(xml_string):
705    return saml2.create_class_from_xml_string(DSAKeyValueType_, xml_string)
706
707
708class Modulus(CryptoBinary_):
709    c_tag = 'Modulus'
710    c_namespace = NAMESPACE
711    c_children = CryptoBinary_.c_children.copy()
712    c_attributes = CryptoBinary_.c_attributes.copy()
713    c_child_order = CryptoBinary_.c_child_order[:]
714    c_cardinality = CryptoBinary_.c_cardinality.copy()
715
716
717def modulus_from_string(xml_string):
718    return saml2.create_class_from_xml_string(Modulus, xml_string)
719
720
721class Exponent(CryptoBinary_):
722    c_tag = 'Exponent'
723    c_namespace = NAMESPACE
724    c_children = CryptoBinary_.c_children.copy()
725    c_attributes = CryptoBinary_.c_attributes.copy()
726    c_child_order = CryptoBinary_.c_child_order[:]
727    c_cardinality = CryptoBinary_.c_cardinality.copy()
728
729
730def exponent_from_string(xml_string):
731    return saml2.create_class_from_xml_string(Exponent, xml_string)
732
733
734class RSAKeyValueType_(SamlBase):
735    """The http://www.w3.org/2000/09/xmldsig#:RSAKeyValueType element """
736
737    c_tag = 'RSAKeyValueType'
738    c_namespace = NAMESPACE
739    c_children = SamlBase.c_children.copy()
740    c_attributes = SamlBase.c_attributes.copy()
741    c_child_order = SamlBase.c_child_order[:]
742    c_cardinality = SamlBase.c_cardinality.copy()
743    c_children['{http://www.w3.org/2000/09/xmldsig#}Modulus'] = ('modulus',
744                                                                 Modulus)
745    c_children['{http://www.w3.org/2000/09/xmldsig#}Exponent'] = ('exponent',
746                                                                  Exponent)
747    c_child_order.extend(['modulus', 'exponent'])
748
749    def __init__(self,
750                 modulus=None,
751                 exponent=None,
752                 text=None,
753                 extension_elements=None,
754                 extension_attributes=None,
755                 ):
756        SamlBase.__init__(self,
757                          text=text,
758                          extension_elements=extension_elements,
759                          extension_attributes=extension_attributes,
760                          )
761        self.modulus = modulus
762        self.exponent = exponent
763
764
765def rsa_key_value_type__from_string(xml_string):
766    return saml2.create_class_from_xml_string(RSAKeyValueType_, xml_string)
767
768
769class SignatureValue(SignatureValueType_):
770    """The http://www.w3.org/2000/09/xmldsig#:SignatureValue element """
771
772    c_tag = 'SignatureValue'
773    c_namespace = NAMESPACE
774    c_children = SignatureValueType_.c_children.copy()
775    c_attributes = SignatureValueType_.c_attributes.copy()
776    c_child_order = SignatureValueType_.c_child_order[:]
777    c_cardinality = SignatureValueType_.c_cardinality.copy()
778
779
780def signature_value_from_string(xml_string):
781    return saml2.create_class_from_xml_string(SignatureValue, xml_string)
782
783
784class CanonicalizationMethod(CanonicalizationMethodType_):
785    """The http://www.w3.org/2000/09/xmldsig#:CanonicalizationMethod element """
786
787    c_tag = 'CanonicalizationMethod'
788    c_namespace = NAMESPACE
789    c_children = CanonicalizationMethodType_.c_children.copy()
790    c_attributes = CanonicalizationMethodType_.c_attributes.copy()
791    c_child_order = CanonicalizationMethodType_.c_child_order[:]
792    c_cardinality = CanonicalizationMethodType_.c_cardinality.copy()
793
794
795def canonicalization_method_from_string(xml_string):
796    return saml2.create_class_from_xml_string(CanonicalizationMethod,
797                                              xml_string)
798
799
800class HMACOutputLength(HMACOutputLengthType_):
801    c_tag = 'HMACOutputLength'
802    c_namespace = NAMESPACE
803    c_children = HMACOutputLengthType_.c_children.copy()
804    c_attributes = HMACOutputLengthType_.c_attributes.copy()
805    c_child_order = HMACOutputLengthType_.c_child_order[:]
806    c_cardinality = HMACOutputLengthType_.c_cardinality.copy()
807
808
809def hmac_output_length_from_string(xml_string):
810    return saml2.create_class_from_xml_string(HMACOutputLength, xml_string)
811
812
813class SignatureMethodType_(SamlBase):
814    """The http://www.w3.org/2000/09/xmldsig#:SignatureMethodType element """
815
816    c_tag = 'SignatureMethodType'
817    c_namespace = NAMESPACE
818    c_children = SamlBase.c_children.copy()
819    c_attributes = SamlBase.c_attributes.copy()
820    c_child_order = SamlBase.c_child_order[:]
821    c_cardinality = SamlBase.c_cardinality.copy()
822    c_children['{http://www.w3.org/2000/09/xmldsig#}HMACOutputLength'] = (
823        'hmac_output_length', HMACOutputLength)
824    c_cardinality['hmac_output_length'] = {"min": 0, "max": 1}
825    c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
826    c_child_order.extend(['hmac_output_length'])
827
828    def __init__(self,
829                 hmac_output_length=None,
830                 algorithm=None,
831                 text=None,
832                 extension_elements=None,
833                 extension_attributes=None,
834                 ):
835        SamlBase.__init__(self,
836                          text=text,
837                          extension_elements=extension_elements,
838                          extension_attributes=extension_attributes,
839                          )
840        self.hmac_output_length = hmac_output_length
841        self.algorithm = algorithm
842
843
844def signature_method_type__from_string(xml_string):
845    return saml2.create_class_from_xml_string(SignatureMethodType_, xml_string)
846
847
848class Transform(TransformType_):
849    """The http://www.w3.org/2000/09/xmldsig#:Transform element """
850
851    c_tag = 'Transform'
852    c_namespace = NAMESPACE
853    c_children = TransformType_.c_children.copy()
854    c_attributes = TransformType_.c_attributes.copy()
855    c_child_order = TransformType_.c_child_order[:]
856    c_cardinality = TransformType_.c_cardinality.copy()
857
858
859def transform_from_string(xml_string):
860    return saml2.create_class_from_xml_string(Transform, xml_string)
861
862
863class DigestMethod(DigestMethodType_):
864    """The http://www.w3.org/2000/09/xmldsig#:DigestMethod element """
865
866    c_tag = 'DigestMethod'
867    c_namespace = NAMESPACE
868    c_children = DigestMethodType_.c_children.copy()
869    c_attributes = DigestMethodType_.c_attributes.copy()
870    c_child_order = DigestMethodType_.c_child_order[:]
871    c_cardinality = DigestMethodType_.c_cardinality.copy()
872
873
874def digest_method_from_string(xml_string):
875    return saml2.create_class_from_xml_string(DigestMethod, xml_string)
876
877
878class DigestValue(DigestValueType_):
879    """The http://www.w3.org/2000/09/xmldsig#:DigestValue element """
880
881    c_tag = 'DigestValue'
882    c_namespace = NAMESPACE
883    c_children = DigestValueType_.c_children.copy()
884    c_attributes = DigestValueType_.c_attributes.copy()
885    c_child_order = DigestValueType_.c_child_order[:]
886    c_cardinality = DigestValueType_.c_cardinality.copy()
887
888
889def digest_value_from_string(xml_string):
890    return saml2.create_class_from_xml_string(DigestValue, xml_string)
891
892
893class X509IssuerSerial(X509IssuerSerialType_):
894    c_tag = 'X509IssuerSerial'
895    c_namespace = NAMESPACE
896    c_children = X509IssuerSerialType_.c_children.copy()
897    c_attributes = X509IssuerSerialType_.c_attributes.copy()
898    c_child_order = X509IssuerSerialType_.c_child_order[:]
899    c_cardinality = X509IssuerSerialType_.c_cardinality.copy()
900
901
902def x509_issuer_serial_from_string(xml_string):
903    return saml2.create_class_from_xml_string(X509IssuerSerial, xml_string)
904
905
906class X509SKI(SamlBase):
907    c_tag = 'X509SKI'
908    c_namespace = NAMESPACE
909    c_value_type = {'base': 'base64Binary'}
910    c_children = SamlBase.c_children.copy()
911    c_attributes = SamlBase.c_attributes.copy()
912    c_child_order = SamlBase.c_child_order[:]
913    c_cardinality = SamlBase.c_cardinality.copy()
914
915
916def x509_ski_from_string(xml_string):
917    return saml2.create_class_from_xml_string(X509SKI, xml_string)
918
919
920class X509SubjectName(SamlBase):
921    c_tag = 'X509SubjectName'
922    c_namespace = NAMESPACE
923    c_value_type = {'base': 'string'}
924    c_children = SamlBase.c_children.copy()
925    c_attributes = SamlBase.c_attributes.copy()
926    c_child_order = SamlBase.c_child_order[:]
927    c_cardinality = SamlBase.c_cardinality.copy()
928
929
930def x509_subject_name_from_string(xml_string):
931    return saml2.create_class_from_xml_string(X509SubjectName, xml_string)
932
933
934class X509Certificate(SamlBase):
935    c_tag = 'X509Certificate'
936    c_namespace = NAMESPACE
937    c_value_type = {'base': 'base64Binary'}
938    c_children = SamlBase.c_children.copy()
939    c_attributes = SamlBase.c_attributes.copy()
940    c_child_order = SamlBase.c_child_order[:]
941    c_cardinality = SamlBase.c_cardinality.copy()
942
943
944def x509_certificate_from_string(xml_string):
945    return saml2.create_class_from_xml_string(X509Certificate, xml_string)
946
947
948class X509CRL(SamlBase):
949    c_tag = 'X509CRL'
950    c_namespace = NAMESPACE
951    c_value_type = {'base': 'base64Binary'}
952    c_children = SamlBase.c_children.copy()
953    c_attributes = SamlBase.c_attributes.copy()
954    c_child_order = SamlBase.c_child_order[:]
955    c_cardinality = SamlBase.c_cardinality.copy()
956
957
958def x509_crl_from_string(xml_string):
959    return saml2.create_class_from_xml_string(X509CRL, xml_string)
960
961
962class X509DataType_(SamlBase):
963    """The http://www.w3.org/2000/09/xmldsig#:X509DataType element """
964
965    c_tag = 'X509DataType'
966    c_namespace = NAMESPACE
967    c_children = SamlBase.c_children.copy()
968    c_attributes = SamlBase.c_attributes.copy()
969    c_child_order = SamlBase.c_child_order[:]
970    c_cardinality = SamlBase.c_cardinality.copy()
971    c_children['{http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial'] = (
972        'x509_issuer_serial',
973        X509IssuerSerial)
974    c_cardinality['x509_issuer_serial'] = {"min": 0, "max": 1}
975    c_children['{http://www.w3.org/2000/09/xmldsig#}X509SKI'] = ('x509_ski',
976                                                                 X509SKI)
977    c_cardinality['x509_ski'] = {"min": 0, "max": 1}
978    c_children['{http://www.w3.org/2000/09/xmldsig#}X509SubjectName'] = (
979        'x509_subject_name',
980        X509SubjectName)
981    c_cardinality['x509_subject_name'] = {"min": 0, "max": 1}
982    c_children['{http://www.w3.org/2000/09/xmldsig#}X509Certificate'] = (
983        'x509_certificate',
984        X509Certificate)
985    c_cardinality['x509_certificate'] = {"min": 0, "max": 1}
986    c_children['{http://www.w3.org/2000/09/xmldsig#}X509CRL'] = ('x509_crl',
987                                                                 X509CRL)
988    c_cardinality['x509_crl'] = {"min": 0, "max": 1}
989    c_child_order.extend(['x509_issuer_serial', 'x509_ski', 'x509_subject_name',
990                          'x509_certificate', 'x509_crl'])
991
992    def __init__(self,
993                 x509_issuer_serial=None,
994                 x509_ski=None,
995                 x509_subject_name=None,
996                 x509_certificate=None,
997                 x509_crl=None,
998                 text=None,
999                 extension_elements=None,
1000                 extension_attributes=None,
1001                 ):
1002        SamlBase.__init__(self,
1003                          text=text,
1004                          extension_elements=extension_elements,
1005                          extension_attributes=extension_attributes,
1006                          )
1007        self.x509_issuer_serial = x509_issuer_serial
1008        self.x509_ski = x509_ski
1009        self.x509_subject_name = x509_subject_name
1010        self.x509_certificate = x509_certificate
1011        self.x509_crl = x509_crl
1012
1013
1014def x509_data_type__from_string(xml_string):
1015    return saml2.create_class_from_xml_string(X509DataType_, xml_string)
1016
1017
1018class PGPData(PGPDataType_):
1019    """The http://www.w3.org/2000/09/xmldsig#:PGPData element """
1020
1021    c_tag = 'PGPData'
1022    c_namespace = NAMESPACE
1023    c_children = PGPDataType_.c_children.copy()
1024    c_attributes = PGPDataType_.c_attributes.copy()
1025    c_child_order = PGPDataType_.c_child_order[:]
1026    c_cardinality = PGPDataType_.c_cardinality.copy()
1027
1028
1029def pgp_data_from_string(xml_string):
1030    return saml2.create_class_from_xml_string(PGPData, xml_string)
1031
1032
1033class SPKIData(SPKIDataType_):
1034    """The http://www.w3.org/2000/09/xmldsig#:SPKIData element """
1035
1036    c_tag = 'SPKIData'
1037    c_namespace = NAMESPACE
1038    c_children = SPKIDataType_.c_children.copy()
1039    c_attributes = SPKIDataType_.c_attributes.copy()
1040    c_child_order = SPKIDataType_.c_child_order[:]
1041    c_cardinality = SPKIDataType_.c_cardinality.copy()
1042
1043
1044def spki_data_from_string(xml_string):
1045    return saml2.create_class_from_xml_string(SPKIData, xml_string)
1046
1047
1048class Object(ObjectType_):
1049    """The http://www.w3.org/2000/09/xmldsig#:Object element """
1050
1051    c_tag = 'Object'
1052    c_namespace = NAMESPACE
1053    c_children = ObjectType_.c_children.copy()
1054    c_attributes = ObjectType_.c_attributes.copy()
1055    c_child_order = ObjectType_.c_child_order[:]
1056    c_cardinality = ObjectType_.c_cardinality.copy()
1057
1058
1059def object_from_string(xml_string):
1060    return saml2.create_class_from_xml_string(Object, xml_string)
1061
1062
1063class SignatureProperty(SignaturePropertyType_):
1064    """The http://www.w3.org/2000/09/xmldsig#:SignatureProperty element """
1065
1066    c_tag = 'SignatureProperty'
1067    c_namespace = NAMESPACE
1068    c_children = SignaturePropertyType_.c_children.copy()
1069    c_attributes = SignaturePropertyType_.c_attributes.copy()
1070    c_child_order = SignaturePropertyType_.c_child_order[:]
1071    c_cardinality = SignaturePropertyType_.c_cardinality.copy()
1072
1073
1074def signature_property_from_string(xml_string):
1075    return saml2.create_class_from_xml_string(SignatureProperty, xml_string)
1076
1077
1078class DSAKeyValue(DSAKeyValueType_):
1079    """The http://www.w3.org/2000/09/xmldsig#:DSAKeyValue element """
1080
1081    c_tag = 'DSAKeyValue'
1082    c_namespace = NAMESPACE
1083    c_children = DSAKeyValueType_.c_children.copy()
1084    c_attributes = DSAKeyValueType_.c_attributes.copy()
1085    c_child_order = DSAKeyValueType_.c_child_order[:]
1086    c_cardinality = DSAKeyValueType_.c_cardinality.copy()
1087
1088
1089def dsa_key_value_from_string(xml_string):
1090    return saml2.create_class_from_xml_string(DSAKeyValue, xml_string)
1091
1092
1093class RSAKeyValue(RSAKeyValueType_):
1094    """The http://www.w3.org/2000/09/xmldsig#:RSAKeyValue element """
1095
1096    c_tag = 'RSAKeyValue'
1097    c_namespace = NAMESPACE
1098    c_children = RSAKeyValueType_.c_children.copy()
1099    c_attributes = RSAKeyValueType_.c_attributes.copy()
1100    c_child_order = RSAKeyValueType_.c_child_order[:]
1101    c_cardinality = RSAKeyValueType_.c_cardinality.copy()
1102
1103
1104def rsa_key_value_from_string(xml_string):
1105    return saml2.create_class_from_xml_string(RSAKeyValue, xml_string)
1106
1107
1108class SignatureMethod(SignatureMethodType_):
1109    """The http://www.w3.org/2000/09/xmldsig#:SignatureMethod element """
1110
1111    c_tag = 'SignatureMethod'
1112    c_namespace = NAMESPACE
1113    c_children = SignatureMethodType_.c_children.copy()
1114    c_attributes = SignatureMethodType_.c_attributes.copy()
1115    c_child_order = SignatureMethodType_.c_child_order[:]
1116    c_cardinality = SignatureMethodType_.c_cardinality.copy()
1117
1118
1119def signature_method_from_string(xml_string):
1120    return saml2.create_class_from_xml_string(SignatureMethod, xml_string)
1121
1122
1123class TransformsType_(SamlBase):
1124    """The http://www.w3.org/2000/09/xmldsig#:TransformsType element """
1125
1126    c_tag = 'TransformsType'
1127    c_namespace = NAMESPACE
1128    c_children = SamlBase.c_children.copy()
1129    c_attributes = SamlBase.c_attributes.copy()
1130    c_child_order = SamlBase.c_child_order[:]
1131    c_cardinality = SamlBase.c_cardinality.copy()
1132    c_children['{http://www.w3.org/2000/09/xmldsig#}Transform'] = ('transform',
1133                                                                   [Transform])
1134    c_cardinality['transform'] = {"min": 1}
1135    c_child_order.extend(['transform'])
1136
1137    def __init__(self,
1138                 transform=None,
1139                 text=None,
1140                 extension_elements=None,
1141                 extension_attributes=None,
1142                 ):
1143        SamlBase.__init__(self,
1144                          text=text,
1145                          extension_elements=extension_elements,
1146                          extension_attributes=extension_attributes,
1147                          )
1148        self.transform = transform or []
1149
1150
1151def transforms_type__from_string(xml_string):
1152    return saml2.create_class_from_xml_string(TransformsType_, xml_string)
1153
1154
1155class KeyValueType_(SamlBase):
1156    """The http://www.w3.org/2000/09/xmldsig#:KeyValueType element """
1157
1158    c_tag = 'KeyValueType'
1159    c_namespace = NAMESPACE
1160    c_children = SamlBase.c_children.copy()
1161    c_attributes = SamlBase.c_attributes.copy()
1162    c_child_order = SamlBase.c_child_order[:]
1163    c_cardinality = SamlBase.c_cardinality.copy()
1164    c_children['{http://www.w3.org/2000/09/xmldsig#}DSAKeyValue'] = (
1165        'dsa_key_value', DSAKeyValue)
1166    c_cardinality['dsa_key_value'] = {"min": 0, "max": 1}
1167    c_children['{http://www.w3.org/2000/09/xmldsig#}RSAKeyValue'] = (
1168        'rsa_key_value', RSAKeyValue)
1169    c_cardinality['rsa_key_value'] = {"min": 0, "max": 1}
1170    c_child_order.extend(['dsa_key_value', 'rsa_key_value'])
1171
1172    def __init__(self,
1173                 dsa_key_value=None,
1174                 rsa_key_value=None,
1175                 text=None,
1176                 extension_elements=None,
1177                 extension_attributes=None,
1178                 ):
1179        SamlBase.__init__(self,
1180                          text=text,
1181                          extension_elements=extension_elements,
1182                          extension_attributes=extension_attributes,
1183                          )
1184        self.dsa_key_value = dsa_key_value
1185        self.rsa_key_value = rsa_key_value
1186
1187
1188def key_value_type__from_string(xml_string):
1189    return saml2.create_class_from_xml_string(KeyValueType_, xml_string)
1190
1191
1192class X509Data(X509DataType_):
1193    """The http://www.w3.org/2000/09/xmldsig#:X509Data element """
1194
1195    c_tag = 'X509Data'
1196    c_namespace = NAMESPACE
1197    c_children = X509DataType_.c_children.copy()
1198    c_attributes = X509DataType_.c_attributes.copy()
1199    c_child_order = X509DataType_.c_child_order[:]
1200    c_cardinality = X509DataType_.c_cardinality.copy()
1201
1202
1203def x509_data_from_string(xml_string):
1204    return saml2.create_class_from_xml_string(X509Data, xml_string)
1205
1206
1207class SignaturePropertiesType_(SamlBase):
1208    """The http://www.w3.org/2000/09/xmldsig#:SignaturePropertiesType element
1209    """
1210
1211    c_tag = 'SignaturePropertiesType'
1212    c_namespace = NAMESPACE
1213    c_children = SamlBase.c_children.copy()
1214    c_attributes = SamlBase.c_attributes.copy()
1215    c_child_order = SamlBase.c_child_order[:]
1216    c_cardinality = SamlBase.c_cardinality.copy()
1217    c_children['{http://www.w3.org/2000/09/xmldsig#}SignatureProperty'] = (
1218        'signature_property', [SignatureProperty])
1219    c_cardinality['signature_property'] = {"min": 1}
1220    c_attributes['Id'] = ('id', 'ID', False)
1221    c_child_order.extend(['signature_property'])
1222
1223    def __init__(self,
1224                 signature_property=None,
1225                 id=None,
1226                 text=None,
1227                 extension_elements=None,
1228                 extension_attributes=None,
1229                 ):
1230        SamlBase.__init__(self,
1231                          text=text,
1232                          extension_elements=extension_elements,
1233                          extension_attributes=extension_attributes,
1234                          )
1235        self.signature_property = signature_property or []
1236        self.id = id
1237
1238
1239def signature_properties_type__from_string(xml_string):
1240    return saml2.create_class_from_xml_string(SignaturePropertiesType_,
1241                                              xml_string)
1242
1243
1244class Transforms(TransformsType_):
1245    """The http://www.w3.org/2000/09/xmldsig#:Transforms element """
1246
1247    c_tag = 'Transforms'
1248    c_namespace = NAMESPACE
1249    c_children = TransformsType_.c_children.copy()
1250    c_attributes = TransformsType_.c_attributes.copy()
1251    c_child_order = TransformsType_.c_child_order[:]
1252    c_cardinality = TransformsType_.c_cardinality.copy()
1253
1254
1255def transforms_from_string(xml_string):
1256    return saml2.create_class_from_xml_string(Transforms, xml_string)
1257
1258
1259class KeyValue(KeyValueType_):
1260    """The http://www.w3.org/2000/09/xmldsig#:KeyValue element """
1261
1262    c_tag = 'KeyValue'
1263    c_namespace = NAMESPACE
1264    c_children = KeyValueType_.c_children.copy()
1265    c_attributes = KeyValueType_.c_attributes.copy()
1266    c_child_order = KeyValueType_.c_child_order[:]
1267    c_cardinality = KeyValueType_.c_cardinality.copy()
1268
1269
1270def key_value_from_string(xml_string):
1271    return saml2.create_class_from_xml_string(KeyValue, xml_string)
1272
1273
1274class RetrievalMethodType_(SamlBase):
1275    """The http://www.w3.org/2000/09/xmldsig#:RetrievalMethodType element """
1276
1277    c_tag = 'RetrievalMethodType'
1278    c_namespace = NAMESPACE
1279    c_children = SamlBase.c_children.copy()
1280    c_attributes = SamlBase.c_attributes.copy()
1281    c_child_order = SamlBase.c_child_order[:]
1282    c_cardinality = SamlBase.c_cardinality.copy()
1283    c_children['{http://www.w3.org/2000/09/xmldsig#}Transforms'] = (
1284        'transforms', Transforms)
1285    c_cardinality['transforms'] = {"min": 0, "max": 1}
1286    c_attributes['URI'] = ('uri', 'anyURI', False)
1287    c_attributes['Type'] = ('type', 'anyURI', False)
1288    c_child_order.extend(['transforms'])
1289
1290    def __init__(self,
1291                 transforms=None,
1292                 uri=None,
1293                 type=None,
1294                 text=None,
1295                 extension_elements=None,
1296                 extension_attributes=None,
1297                 ):
1298        SamlBase.__init__(self,
1299                          text=text,
1300                          extension_elements=extension_elements,
1301                          extension_attributes=extension_attributes,
1302                          )
1303        self.transforms = transforms
1304        self.uri = uri
1305        self.type = type
1306
1307
1308def retrieval_method_type__from_string(xml_string):
1309    return saml2.create_class_from_xml_string(RetrievalMethodType_, xml_string)
1310
1311
1312class SignatureProperties(SignaturePropertiesType_):
1313    """The http://www.w3.org/2000/09/xmldsig#:SignatureProperties element """
1314
1315    c_tag = 'SignatureProperties'
1316    c_namespace = NAMESPACE
1317    c_children = SignaturePropertiesType_.c_children.copy()
1318    c_attributes = SignaturePropertiesType_.c_attributes.copy()
1319    c_child_order = SignaturePropertiesType_.c_child_order[:]
1320    c_cardinality = SignaturePropertiesType_.c_cardinality.copy()
1321
1322
1323def signature_properties_from_string(xml_string):
1324    return saml2.create_class_from_xml_string(SignatureProperties, xml_string)
1325
1326
1327class ReferenceType_(SamlBase):
1328    """The http://www.w3.org/2000/09/xmldsig#:ReferenceType element """
1329
1330    c_tag = 'ReferenceType'
1331    c_namespace = NAMESPACE
1332    c_children = SamlBase.c_children.copy()
1333    c_attributes = SamlBase.c_attributes.copy()
1334    c_child_order = SamlBase.c_child_order[:]
1335    c_cardinality = SamlBase.c_cardinality.copy()
1336    c_children['{http://www.w3.org/2000/09/xmldsig#}Transforms'] = (
1337        'transforms', Transforms)
1338    c_cardinality['transforms'] = {"min": 0, "max": 1}
1339    c_children['{http://www.w3.org/2000/09/xmldsig#}DigestMethod'] = (
1340        'digest_method', DigestMethod)
1341    c_children['{http://www.w3.org/2000/09/xmldsig#}DigestValue'] = (
1342        'digest_value', DigestValue)
1343    c_attributes['Id'] = ('id', 'ID', False)
1344    c_attributes['URI'] = ('uri', 'anyURI', False)
1345    c_attributes['Type'] = ('type', 'anyURI', False)
1346    c_child_order.extend(['transforms', 'digest_method', 'digest_value'])
1347
1348    def __init__(self,
1349                 transforms=None,
1350                 digest_method=None,
1351                 digest_value=None,
1352                 id=None,
1353                 uri=None,
1354                 type=None,
1355                 text=None,
1356                 extension_elements=None,
1357                 extension_attributes=None,
1358                 ):
1359        SamlBase.__init__(self,
1360                          text=text,
1361                          extension_elements=extension_elements,
1362                          extension_attributes=extension_attributes,
1363                          )
1364        self.transforms = transforms
1365        self.digest_method = digest_method
1366        self.digest_value = digest_value
1367        self.id = id
1368        self.uri = uri
1369        self.type = type
1370
1371
1372def reference_type__from_string(xml_string):
1373    return saml2.create_class_from_xml_string(ReferenceType_, xml_string)
1374
1375
1376class RetrievalMethod(RetrievalMethodType_):
1377    """The http://www.w3.org/2000/09/xmldsig#:RetrievalMethod element """
1378
1379    c_tag = 'RetrievalMethod'
1380    c_namespace = NAMESPACE
1381    c_children = RetrievalMethodType_.c_children.copy()
1382    c_attributes = RetrievalMethodType_.c_attributes.copy()
1383    c_child_order = RetrievalMethodType_.c_child_order[:]
1384    c_cardinality = RetrievalMethodType_.c_cardinality.copy()
1385
1386
1387def retrieval_method_from_string(xml_string):
1388    return saml2.create_class_from_xml_string(RetrievalMethod, xml_string)
1389
1390
1391class Reference(ReferenceType_):
1392    """The http://www.w3.org/2000/09/xmldsig#:Reference element """
1393
1394    c_tag = 'Reference'
1395    c_namespace = NAMESPACE
1396    c_children = ReferenceType_.c_children.copy()
1397    c_attributes = ReferenceType_.c_attributes.copy()
1398    c_child_order = ReferenceType_.c_child_order[:]
1399    c_cardinality = ReferenceType_.c_cardinality.copy()
1400
1401
1402def reference_from_string(xml_string):
1403    return saml2.create_class_from_xml_string(Reference, xml_string)
1404
1405
1406# import xmlenc as enc
1407
1408
1409class KeyInfoType_(SamlBase):
1410    """The http://www.w3.org/2000/09/xmldsig#:KeyInfoType element """
1411
1412    c_tag = 'KeyInfoType'
1413    c_namespace = NAMESPACE
1414    c_children = SamlBase.c_children.copy()
1415    c_attributes = SamlBase.c_attributes.copy()
1416    c_child_order = SamlBase.c_child_order[:]
1417    c_cardinality = SamlBase.c_cardinality.copy()
1418    c_children['{http://www.w3.org/2000/09/xmldsig#}KeyName'] = ('key_name',
1419                                                                 [KeyName])
1420    c_cardinality['key_name'] = {"min": 0}
1421    c_children['{http://www.w3.org/2000/09/xmldsig#}KeyValue'] = ('key_value',
1422                                                                  [KeyValue])
1423    c_cardinality['key_value'] = {"min": 0}
1424    c_children['{http://www.w3.org/2000/09/xmldsig#}RetrievalMethod'] = (
1425        'retrieval_method', [RetrievalMethod])
1426    c_cardinality['retrieval_method'] = {"min": 0}
1427    c_children['{http://www.w3.org/2000/09/xmldsig#}X509Data'] = ('x509_data',
1428                                                                  [X509Data])
1429    c_cardinality['x509_data'] = {"min": 0}
1430    c_children['{http://www.w3.org/2000/09/xmldsig#}PGPData'] = ('pgp_data',
1431                                                                 [PGPData])
1432    c_cardinality['pgp_data'] = {"min": 0}
1433    c_children['{http://www.w3.org/2000/09/xmldsig#}SPKIData'] = ('spki_data',
1434                                                                  [SPKIData])
1435    c_cardinality['spki_data'] = {"min": 0}
1436    c_children['{http://www.w3.org/2000/09/xmldsig#}MgmtData'] = ('mgmt_data',
1437                                                                  [MgmtData])
1438    c_cardinality['mgmt_data'] = {"min": 0}
1439    c_children['{http://www.w3.org/2000/09/xmlenc#}EncryptedKey'] = (
1440        'encrypted_key', None)
1441    c_cardinality['key_info'] = {"min": 0, "max": 1}
1442
1443    c_attributes['Id'] = ('id', 'ID', False)
1444    c_child_order.extend(['key_name', 'key_value', 'retrieval_method',
1445                          'x509_data', 'pgp_data', 'spki_data', 'mgmt_data',
1446                          'encrypted_key'])
1447
1448    def __init__(self,
1449                 key_name=None,
1450                 key_value=None,
1451                 retrieval_method=None,
1452                 x509_data=None,
1453                 pgp_data=None,
1454                 spki_data=None,
1455                 mgmt_data=None,
1456                 encrypted_key=None,
1457                 id=None,
1458                 text=None,
1459                 extension_elements=None,
1460                 extension_attributes=None):
1461        SamlBase.__init__(self,
1462                          text=text,
1463                          extension_elements=extension_elements,
1464                          extension_attributes=extension_attributes
1465                          )
1466        self.key_name = key_name or []
1467        self.key_value = key_value or []
1468        self.retrieval_method = retrieval_method or []
1469        self.x509_data = x509_data or []
1470        self.pgp_data = pgp_data or []
1471        self.spki_data = spki_data or []
1472        self.mgmt_data = mgmt_data or []
1473        self.encrypted_key = encrypted_key
1474        self.id = id
1475
1476
1477def key_info_type__from_string(xml_string):
1478    return saml2.create_class_from_xml_string(KeyInfoType_, xml_string)
1479
1480
1481class ManifestType_(SamlBase):
1482    """The http://www.w3.org/2000/09/xmldsig#:ManifestType element """
1483
1484    c_tag = 'ManifestType'
1485    c_namespace = NAMESPACE
1486    c_children = SamlBase.c_children.copy()
1487    c_attributes = SamlBase.c_attributes.copy()
1488    c_child_order = SamlBase.c_child_order[:]
1489    c_cardinality = SamlBase.c_cardinality.copy()
1490    c_children['{http://www.w3.org/2000/09/xmldsig#}Reference'] = ('reference',
1491                                                                   [Reference])
1492    c_cardinality['reference'] = {"min": 1}
1493    c_attributes['Id'] = ('id', 'ID', False)
1494    c_child_order.extend(['reference'])
1495
1496    def __init__(self,
1497                 reference=None,
1498                 id=None,
1499                 text=None,
1500                 extension_elements=None,
1501                 extension_attributes=None,
1502                 ):
1503        SamlBase.__init__(self,
1504                          text=text,
1505                          extension_elements=extension_elements,
1506                          extension_attributes=extension_attributes,
1507                          )
1508        self.reference = reference or []
1509        self.id = id
1510
1511
1512def manifest_type__from_string(xml_string):
1513    return saml2.create_class_from_xml_string(ManifestType_, xml_string)
1514
1515
1516class SignedInfoType_(SamlBase):
1517    """The http://www.w3.org/2000/09/xmldsig#:SignedInfoType element """
1518
1519    c_tag = 'SignedInfoType'
1520    c_namespace = NAMESPACE
1521    c_children = SamlBase.c_children.copy()
1522    c_attributes = SamlBase.c_attributes.copy()
1523    c_child_order = SamlBase.c_child_order[:]
1524    c_cardinality = SamlBase.c_cardinality.copy()
1525    c_children['{http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod'] = (
1526        'canonicalization_method', CanonicalizationMethod)
1527    c_children['{http://www.w3.org/2000/09/xmldsig#}SignatureMethod'] = (
1528        'signature_method', SignatureMethod)
1529    c_children['{http://www.w3.org/2000/09/xmldsig#}Reference'] = ('reference',
1530                                                                   [Reference])
1531    c_cardinality['reference'] = {"min": 1}
1532    c_attributes['Id'] = ('id', 'ID', False)
1533    c_child_order.extend(['canonicalization_method', 'signature_method',
1534                          'reference'])
1535
1536    def __init__(self,
1537                 canonicalization_method=None,
1538                 signature_method=None,
1539                 reference=None,
1540                 id=None,
1541                 text=None,
1542                 extension_elements=None,
1543                 extension_attributes=None,
1544                 ):
1545        SamlBase.__init__(self,
1546                          text=text,
1547                          extension_elements=extension_elements,
1548                          extension_attributes=extension_attributes,
1549                          )
1550        self.canonicalization_method = canonicalization_method
1551        self.signature_method = signature_method
1552        self.reference = reference or []
1553        self.id = id
1554
1555
1556def signed_info_type__from_string(xml_string):
1557    return saml2.create_class_from_xml_string(SignedInfoType_, xml_string)
1558
1559
1560class KeyInfo(KeyInfoType_):
1561    """The http://www.w3.org/2000/09/xmldsig#:KeyInfo element """
1562
1563    c_tag = 'KeyInfo'
1564    c_namespace = NAMESPACE
1565    c_children = KeyInfoType_.c_children.copy()
1566    c_attributes = KeyInfoType_.c_attributes.copy()
1567    c_child_order = KeyInfoType_.c_child_order[:]
1568    c_cardinality = KeyInfoType_.c_cardinality.copy()
1569
1570
1571def key_info_from_string(xml_string):
1572    return saml2.create_class_from_xml_string(KeyInfo, xml_string)
1573
1574
1575class Manifest(ManifestType_):
1576    """The http://www.w3.org/2000/09/xmldsig#:Manifest element """
1577
1578    c_tag = 'Manifest'
1579    c_namespace = NAMESPACE
1580    c_children = ManifestType_.c_children.copy()
1581    c_attributes = ManifestType_.c_attributes.copy()
1582    c_child_order = ManifestType_.c_child_order[:]
1583    c_cardinality = ManifestType_.c_cardinality.copy()
1584
1585
1586def manifest_from_string(xml_string):
1587    return saml2.create_class_from_xml_string(Manifest, xml_string)
1588
1589
1590class SignedInfo(SignedInfoType_):
1591    """The http://www.w3.org/2000/09/xmldsig#:SignedInfo element """
1592
1593    c_tag = 'SignedInfo'
1594    c_namespace = NAMESPACE
1595    c_children = SignedInfoType_.c_children.copy()
1596    c_attributes = SignedInfoType_.c_attributes.copy()
1597    c_child_order = SignedInfoType_.c_child_order[:]
1598    c_cardinality = SignedInfoType_.c_cardinality.copy()
1599
1600
1601def signed_info_from_string(xml_string):
1602    return saml2.create_class_from_xml_string(SignedInfo, xml_string)
1603
1604
1605class SignatureType_(SamlBase):
1606    """The http://www.w3.org/2000/09/xmldsig#:SignatureType element """
1607
1608    c_tag = 'SignatureType'
1609    c_namespace = NAMESPACE
1610    c_children = SamlBase.c_children.copy()
1611    c_attributes = SamlBase.c_attributes.copy()
1612    c_child_order = SamlBase.c_child_order[:]
1613    c_cardinality = SamlBase.c_cardinality.copy()
1614    c_children['{http://www.w3.org/2000/09/xmldsig#}SignedInfo'] = (
1615        'signed_info', SignedInfo)
1616    c_children['{http://www.w3.org/2000/09/xmldsig#}SignatureValue'] = (
1617        'signature_value', SignatureValue)
1618    c_children['{http://www.w3.org/2000/09/xmldsig#}KeyInfo'] = ('key_info',
1619                                                                 KeyInfo)
1620    c_cardinality['key_info'] = {"min": 0, "max": 1}
1621    c_children['{http://www.w3.org/2000/09/xmldsig#}Object'] = ('object',
1622                                                                [Object])
1623    c_cardinality['object'] = {"min": 0}
1624    c_attributes['Id'] = ('id', 'ID', False)
1625    c_child_order.extend(['signed_info', 'signature_value', 'key_info',
1626                          'object'])
1627
1628    def __init__(self,
1629                 signed_info=None,
1630                 signature_value=None,
1631                 key_info=None,
1632                 object=None,
1633                 id=None,
1634                 text=None,
1635                 extension_elements=None,
1636                 extension_attributes=None,
1637                 ):
1638        SamlBase.__init__(self,
1639                          text=text,
1640                          extension_elements=extension_elements,
1641                          extension_attributes=extension_attributes,
1642                          )
1643        self.signed_info = signed_info
1644        self.signature_value = signature_value
1645        self.key_info = key_info
1646        self.object = object or []
1647        self.id = id
1648
1649
1650def signature_type__from_string(xml_string):
1651    return saml2.create_class_from_xml_string(SignatureType_, xml_string)
1652
1653
1654class Signature(SignatureType_):
1655    """The http://www.w3.org/2000/09/xmldsig#:Signature element """
1656
1657    c_tag = 'Signature'
1658    c_namespace = NAMESPACE
1659    c_children = SignatureType_.c_children.copy()
1660    c_attributes = SignatureType_.c_attributes.copy()
1661    c_child_order = SignatureType_.c_child_order[:]
1662    c_cardinality = SignatureType_.c_cardinality.copy()
1663
1664
1665def signature_from_string(xml_string):
1666    return saml2.create_class_from_xml_string(Signature, xml_string)
1667
1668
1669ELEMENT_FROM_STRING = {
1670    CryptoBinary_.c_tag: crypto_binary__from_string,
1671    Signature.c_tag: signature_from_string,
1672    SignatureType_.c_tag: signature_type__from_string,
1673    SignatureValue.c_tag: signature_value_from_string,
1674    SignatureValueType_.c_tag: signature_value_type__from_string,
1675    SignedInfo.c_tag: signed_info_from_string,
1676    SignedInfoType_.c_tag: signed_info_type__from_string,
1677    CanonicalizationMethod.c_tag: canonicalization_method_from_string,
1678    CanonicalizationMethodType_.c_tag:
1679        canonicalization_method_type__from_string,
1680    SignatureMethod.c_tag: signature_method_from_string,
1681    SignatureMethodType_.c_tag: signature_method_type__from_string,
1682    Reference.c_tag: reference_from_string,
1683    ReferenceType_.c_tag: reference_type__from_string,
1684    Transforms.c_tag: transforms_from_string,
1685    TransformsType_.c_tag: transforms_type__from_string,
1686    Transform.c_tag: transform_from_string,
1687    TransformType_.c_tag: transform_type__from_string,
1688    DigestMethod.c_tag: digest_method_from_string,
1689    DigestMethodType_.c_tag: digest_method_type__from_string,
1690    DigestValue.c_tag: digest_value_from_string,
1691    DigestValueType_.c_tag: digest_value_type__from_string,
1692    KeyInfo.c_tag: key_info_from_string,
1693    KeyInfoType_.c_tag: key_info_type__from_string,
1694    KeyName.c_tag: key_name_from_string,
1695    MgmtData.c_tag: mgmt_data_from_string,
1696    KeyValue.c_tag: key_value_from_string,
1697    KeyValueType_.c_tag: key_value_type__from_string,
1698    RetrievalMethod.c_tag: retrieval_method_from_string,
1699    RetrievalMethodType_.c_tag: retrieval_method_type__from_string,
1700    X509Data.c_tag: x509_data_from_string,
1701    X509DataType_.c_tag: x509_data_type__from_string,
1702    X509IssuerSerialType_.c_tag: x509_issuer_serial_type__from_string,
1703    PGPData.c_tag: pgp_data_from_string,
1704    PGPDataType_.c_tag: pgp_data_type__from_string,
1705    SPKIData.c_tag: spki_data_from_string,
1706    SPKIDataType_.c_tag: spki_data_type__from_string,
1707    Object.c_tag: object_from_string,
1708    ObjectType_.c_tag: object_type__from_string,
1709    Manifest.c_tag: manifest_from_string,
1710    ManifestType_.c_tag: manifest_type__from_string,
1711    SignatureProperties.c_tag: signature_properties_from_string,
1712    SignaturePropertiesType_.c_tag: signature_properties_type__from_string,
1713    SignatureProperty.c_tag: signature_property_from_string,
1714    SignaturePropertyType_.c_tag: signature_property_type__from_string,
1715    HMACOutputLengthType_.c_tag: hmac_output_length_type__from_string,
1716    DSAKeyValue.c_tag: dsa_key_value_from_string,
1717    DSAKeyValueType_.c_tag: dsa_key_value_type__from_string,
1718    RSAKeyValue.c_tag: rsa_key_value_from_string,
1719    RSAKeyValueType_.c_tag: rsa_key_value_type__from_string,
1720    TransformType_XPath.c_tag: transform_type__x_path_from_string,
1721    X509IssuerName.c_tag: x509_issuer_name_from_string,
1722    X509SerialNumber.c_tag: x509_serial_number_from_string,
1723    PGPKeyID.c_tag: pgp_key_id_from_string,
1724    PGPKeyPacket.c_tag: pgp_key_packet_from_string,
1725    SPKISexp.c_tag: spki_sexp_from_string,
1726    P.c_tag: p_from_string,
1727    Q.c_tag: q_from_string,
1728    G.c_tag: g_from_string,
1729    Y.c_tag: y_from_string,
1730    J.c_tag: j_from_string,
1731    Seed.c_tag: seed_from_string,
1732    PgenCounter.c_tag: pgen_counter_from_string,
1733    Modulus.c_tag: modulus_from_string,
1734    Exponent.c_tag: exponent_from_string,
1735    HMACOutputLength.c_tag: hmac_output_length_from_string,
1736    X509IssuerSerial.c_tag: x509_issuer_serial_from_string,
1737    X509SKI.c_tag: x509_ski_from_string,
1738    X509SubjectName.c_tag: x509_subject_name_from_string,
1739    X509Certificate.c_tag: x509_certificate_from_string,
1740    X509CRL.c_tag: x509_crl_from_string,
1741}
1742
1743ELEMENT_BY_TAG = {
1744    'CryptoBinary': CryptoBinary_,
1745    'Signature': Signature,
1746    'SignatureType': SignatureType_,
1747    'SignatureValue': SignatureValue,
1748    'SignatureValueType': SignatureValueType_,
1749    'SignedInfo': SignedInfo,
1750    'SignedInfoType': SignedInfoType_,
1751    'CanonicalizationMethod': CanonicalizationMethod,
1752    'CanonicalizationMethodType': CanonicalizationMethodType_,
1753    'SignatureMethod': SignatureMethod,
1754    'SignatureMethodType': SignatureMethodType_,
1755    'Reference': Reference,
1756    'ReferenceType': ReferenceType_,
1757    'Transforms': Transforms,
1758    'TransformsType': TransformsType_,
1759    'Transform': Transform,
1760    'TransformType': TransformType_,
1761    'DigestMethod': DigestMethod,
1762    'DigestMethodType': DigestMethodType_,
1763    'DigestValue': DigestValue,
1764    'DigestValueType': DigestValueType_,
1765    'KeyInfo': KeyInfo,
1766    'KeyInfoType': KeyInfoType_,
1767    'KeyName': KeyName,
1768    'MgmtData': MgmtData,
1769    'KeyValue': KeyValue,
1770    'KeyValueType': KeyValueType_,
1771    'RetrievalMethod': RetrievalMethod,
1772    'RetrievalMethodType': RetrievalMethodType_,
1773    'X509Data': X509Data,
1774    'X509DataType': X509DataType_,
1775    'X509IssuerSerialType': X509IssuerSerialType_,
1776    'PGPData': PGPData,
1777    'PGPDataType': PGPDataType_,
1778    'SPKIData': SPKIData,
1779    'SPKIDataType': SPKIDataType_,
1780    'Object': Object,
1781    'ObjectType': ObjectType_,
1782    'Manifest': Manifest,
1783    'ManifestType': ManifestType_,
1784    'SignatureProperties': SignatureProperties,
1785    'SignaturePropertiesType': SignaturePropertiesType_,
1786    'SignatureProperty': SignatureProperty,
1787    'SignaturePropertyType': SignaturePropertyType_,
1788    'HMACOutputLengthType': HMACOutputLengthType_,
1789    'DSAKeyValue': DSAKeyValue,
1790    'DSAKeyValueType': DSAKeyValueType_,
1791    'RSAKeyValue': RSAKeyValue,
1792    'RSAKeyValueType': RSAKeyValueType_,
1793    'XPath': TransformType_XPath,
1794    'X509IssuerName': X509IssuerName,
1795    'X509SerialNumber': X509SerialNumber,
1796    'PGPKeyID': PGPKeyID,
1797    'PGPKeyPacket': PGPKeyPacket,
1798    'SPKISexp': SPKISexp,
1799    'P': P,
1800    'Q': Q,
1801    'G': G,
1802    'Y': Y,
1803    'J': J,
1804    'Seed': Seed,
1805    'PgenCounter': PgenCounter,
1806    'Modulus': Modulus,
1807    'Exponent': Exponent,
1808    'HMACOutputLength': HMACOutputLength,
1809    'X509IssuerSerial': X509IssuerSerial,
1810    'X509SKI': X509SKI,
1811    'X509SubjectName': X509SubjectName,
1812    'X509Certificate': X509Certificate,
1813    'X509CRL': X509CRL,
1814}
1815
1816
1817def factory(tag, **kwargs):
1818    return ELEMENT_BY_TAG[tag](**kwargs)
1819