768 lines
28 KiB
Python
768 lines
28 KiB
Python
#!/usr/bin/env python
|
|
|
|
#
|
|
# Generated Mon May 2 14:23:33 2011 by parse_xsd.py version 0.4.
|
|
#
|
|
|
|
import saml2
|
|
from saml2 import SamlBase
|
|
|
|
import xmldsig as ds
|
|
|
|
NAMESPACE = 'http://www.w3.org/2001/04/xmlenc#'
|
|
|
|
class KeySizeType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:KeySizeType element """
|
|
|
|
c_tag = 'KeySizeType'
|
|
c_namespace = NAMESPACE
|
|
c_value_type = {'base': 'integer'}
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
|
|
def key_size_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(KeySizeType_, xml_string)
|
|
|
|
|
|
class CipherValue(SamlBase):
|
|
|
|
c_tag = 'CipherValue'
|
|
c_namespace = NAMESPACE
|
|
c_value_type = {'base': 'base64Binary'}
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
|
|
def cipher_value_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(CipherValue, xml_string)
|
|
|
|
|
|
class TransformsType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:TransformsType element """
|
|
|
|
c_tag = 'TransformsType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2000/09/xmldsig#}Transform'] = ('transform', [ds.Transform])
|
|
c_cardinality['transform'] = {"min":1}
|
|
c_child_order.extend(['transform'])
|
|
|
|
def __init__(self,
|
|
transform=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.transform=transform or []
|
|
|
|
def transforms_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(TransformsType_, xml_string)
|
|
|
|
|
|
class KA_Nonce(SamlBase):
|
|
|
|
c_tag = 'KA_Nonce'
|
|
c_namespace = NAMESPACE
|
|
c_value_type = {'base': 'base64Binary'}
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
|
|
def k_a__nonce_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(KA_Nonce, xml_string)
|
|
|
|
|
|
class OriginatorKeyInfo(ds.KeyInfo):
|
|
|
|
c_tag = 'OriginatorKeyInfo'
|
|
c_namespace = NAMESPACE
|
|
c_children = ds.KeyInfo.c_children.copy()
|
|
c_attributes = ds.KeyInfo.c_attributes.copy()
|
|
c_child_order = ds.KeyInfo.c_child_order[:]
|
|
c_cardinality = ds.KeyInfo.c_cardinality.copy()
|
|
|
|
def originator_key_info_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(OriginatorKeyInfo, xml_string)
|
|
|
|
|
|
class RecipientKeyInfo(ds.KeyInfo):
|
|
|
|
c_tag = 'RecipientKeyInfo'
|
|
c_namespace = NAMESPACE
|
|
c_children = ds.KeyInfo.c_children.copy()
|
|
c_attributes = ds.KeyInfo.c_attributes.copy()
|
|
c_child_order = ds.KeyInfo.c_child_order[:]
|
|
c_cardinality = ds.KeyInfo.c_cardinality.copy()
|
|
|
|
def recipient_key_info_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(RecipientKeyInfo, xml_string)
|
|
|
|
|
|
class AgreementMethodType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:AgreementMethodType element """
|
|
|
|
c_tag = 'AgreementMethodType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}KA_Nonce'] = ('k_a__nonce', KA_Nonce)
|
|
c_cardinality['k_a__nonce'] = {"min":0, "max":1}
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}OriginatorKeyInfo'] = ('originator_key_info', OriginatorKeyInfo)
|
|
c_cardinality['originator_key_info'] = {"min":0, "max":1}
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}RecipientKeyInfo'] = ('recipient_key_info', RecipientKeyInfo)
|
|
c_cardinality['recipient_key_info'] = {"min":0, "max":1}
|
|
c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
|
|
c_child_order.extend(['k_a__nonce', 'originator_key_info', 'recipient_key_info'])
|
|
|
|
def __init__(self,
|
|
k_a__nonce=None,
|
|
originator_key_info=None,
|
|
recipient_key_info=None,
|
|
algorithm=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.k_a__nonce=k_a__nonce
|
|
self.originator_key_info=originator_key_info
|
|
self.recipient_key_info=recipient_key_info
|
|
self.algorithm=algorithm
|
|
|
|
def agreement_method_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(AgreementMethodType_, xml_string)
|
|
|
|
|
|
class ReferenceType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:ReferenceType element """
|
|
|
|
c_tag = 'ReferenceType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_attributes['URI'] = ('uri', 'anyURI', True)
|
|
|
|
def __init__(self,
|
|
uri=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.uri=uri
|
|
|
|
def reference_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(ReferenceType_, xml_string)
|
|
|
|
|
|
class EncryptionPropertyType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptionPropertyType element """
|
|
|
|
c_tag = 'EncryptionPropertyType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_attributes['Target'] = ('target', 'anyURI', False)
|
|
c_attributes['Id'] = ('id', 'ID', False)
|
|
|
|
def __init__(self,
|
|
target=None,
|
|
id=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.target=target
|
|
self.id=id
|
|
|
|
def encryption_property_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptionPropertyType_, xml_string)
|
|
|
|
|
|
class KeySize(KeySizeType_):
|
|
|
|
c_tag = 'KeySize'
|
|
c_namespace = NAMESPACE
|
|
c_children = KeySizeType_.c_children.copy()
|
|
c_attributes = KeySizeType_.c_attributes.copy()
|
|
c_child_order = KeySizeType_.c_child_order[:]
|
|
c_cardinality = KeySizeType_.c_cardinality.copy()
|
|
|
|
def key_size_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(KeySize, xml_string)
|
|
|
|
|
|
class OAEPparams(SamlBase):
|
|
|
|
c_tag = 'OAEPparams'
|
|
c_namespace = NAMESPACE
|
|
c_value_type = {'base': 'base64Binary'}
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
|
|
def oae_pparams_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(OAEPparams, xml_string)
|
|
|
|
|
|
class EncryptionMethodType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptionMethodType element """
|
|
|
|
c_tag = 'EncryptionMethodType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}KeySize'] = ('key_size', KeySize)
|
|
c_cardinality['key_size'] = {"min":0, "max":1}
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}OAEPparams'] = ('oae_pparams', OAEPparams)
|
|
c_cardinality['oae_pparams'] = {"min":0, "max":1}
|
|
c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
|
|
c_child_order.extend(['key_size', 'oae_pparams'])
|
|
|
|
def __init__(self,
|
|
key_size=None,
|
|
oae_pparams=None,
|
|
algorithm=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.key_size=key_size
|
|
self.oae_pparams=oae_pparams
|
|
self.algorithm=algorithm
|
|
|
|
def encryption_method_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptionMethodType_, xml_string)
|
|
|
|
|
|
class Transforms(TransformsType_):
|
|
|
|
c_tag = 'Transforms'
|
|
c_namespace = NAMESPACE
|
|
c_children = TransformsType_.c_children.copy()
|
|
c_attributes = TransformsType_.c_attributes.copy()
|
|
c_child_order = TransformsType_.c_child_order[:]
|
|
c_cardinality = TransformsType_.c_cardinality.copy()
|
|
|
|
def transforms_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(Transforms, xml_string)
|
|
|
|
|
|
class CipherReferenceType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:CipherReferenceType element """
|
|
|
|
c_tag = 'CipherReferenceType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}Transforms'] = ('transforms', Transforms)
|
|
c_cardinality['transforms'] = {"min":0, "max":1}
|
|
c_attributes['URI'] = ('uri', 'anyURI', True)
|
|
c_child_order.extend(['transforms'])
|
|
|
|
def __init__(self,
|
|
transforms=None,
|
|
uri=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.transforms=transforms
|
|
self.uri=uri
|
|
|
|
def cipher_reference_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(CipherReferenceType_, xml_string)
|
|
|
|
|
|
class EncryptionMethod(EncryptionMethodType_):
|
|
|
|
c_tag = 'EncryptionMethod'
|
|
c_namespace = NAMESPACE
|
|
c_children = EncryptionMethodType_.c_children.copy()
|
|
c_attributes = EncryptionMethodType_.c_attributes.copy()
|
|
c_child_order = EncryptionMethodType_.c_child_order[:]
|
|
c_cardinality = EncryptionMethodType_.c_cardinality.copy()
|
|
|
|
def encryption_method_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptionMethod, xml_string)
|
|
|
|
|
|
|
|
class AgreementMethod(AgreementMethodType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:AgreementMethod element """
|
|
|
|
c_tag = 'AgreementMethod'
|
|
c_namespace = NAMESPACE
|
|
c_children = AgreementMethodType_.c_children.copy()
|
|
c_attributes = AgreementMethodType_.c_attributes.copy()
|
|
c_child_order = AgreementMethodType_.c_child_order[:]
|
|
c_cardinality = AgreementMethodType_.c_cardinality.copy()
|
|
|
|
def agreement_method_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(AgreementMethod, xml_string)
|
|
|
|
|
|
class DataReference(ReferenceType_):
|
|
|
|
c_tag = 'DataReference'
|
|
c_namespace = NAMESPACE
|
|
c_children = ReferenceType_.c_children.copy()
|
|
c_attributes = ReferenceType_.c_attributes.copy()
|
|
c_child_order = ReferenceType_.c_child_order[:]
|
|
c_cardinality = ReferenceType_.c_cardinality.copy()
|
|
|
|
def data_reference_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(DataReference, xml_string)
|
|
|
|
|
|
class KeyReference(ReferenceType_):
|
|
|
|
c_tag = 'KeyReference'
|
|
c_namespace = NAMESPACE
|
|
c_children = ReferenceType_.c_children.copy()
|
|
c_attributes = ReferenceType_.c_attributes.copy()
|
|
c_child_order = ReferenceType_.c_child_order[:]
|
|
c_cardinality = ReferenceType_.c_cardinality.copy()
|
|
|
|
def key_reference_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(KeyReference, xml_string)
|
|
|
|
|
|
class ReferenceList(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:ReferenceList element """
|
|
|
|
c_tag = 'ReferenceList'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}DataReference'] = ('data_reference', [DataReference])
|
|
c_cardinality['data_reference'] = {"min":0}
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}KeyReference'] = ('key_reference', [KeyReference])
|
|
c_cardinality['key_reference'] = {"min":0}
|
|
c_child_order.extend(['data_reference', 'key_reference'])
|
|
|
|
def __init__(self,
|
|
data_reference=None,
|
|
key_reference=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.data_reference=data_reference or []
|
|
self.key_reference=key_reference or []
|
|
|
|
def reference_list_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(ReferenceList, xml_string)
|
|
|
|
|
|
class EncryptionProperty(EncryptionPropertyType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptionProperty element """
|
|
|
|
c_tag = 'EncryptionProperty'
|
|
c_namespace = NAMESPACE
|
|
c_children = EncryptionPropertyType_.c_children.copy()
|
|
c_attributes = EncryptionPropertyType_.c_attributes.copy()
|
|
c_child_order = EncryptionPropertyType_.c_child_order[:]
|
|
c_cardinality = EncryptionPropertyType_.c_cardinality.copy()
|
|
|
|
def encryption_property_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptionProperty, xml_string)
|
|
|
|
|
|
class CipherReference(CipherReferenceType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:CipherReference element """
|
|
|
|
c_tag = 'CipherReference'
|
|
c_namespace = NAMESPACE
|
|
c_children = CipherReferenceType_.c_children.copy()
|
|
c_attributes = CipherReferenceType_.c_attributes.copy()
|
|
c_child_order = CipherReferenceType_.c_child_order[:]
|
|
c_cardinality = CipherReferenceType_.c_cardinality.copy()
|
|
|
|
def cipher_reference_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(CipherReference, xml_string)
|
|
|
|
|
|
class EncryptionPropertiesType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptionPropertiesType element """
|
|
|
|
c_tag = 'EncryptionPropertiesType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}EncryptionProperty'] = ('encryption_property', [EncryptionProperty])
|
|
c_cardinality['encryption_property'] = {"min":1}
|
|
c_attributes['Id'] = ('id', 'ID', False)
|
|
c_child_order.extend(['encryption_property'])
|
|
|
|
def __init__(self,
|
|
encryption_property=None,
|
|
id=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.encryption_property=encryption_property or []
|
|
self.id=id
|
|
|
|
def encryption_properties_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptionPropertiesType_, xml_string)
|
|
|
|
|
|
class CipherDataType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:CipherDataType element """
|
|
|
|
c_tag = 'CipherDataType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}CipherValue'] = ('cipher_value', CipherValue)
|
|
c_cardinality['cipher_value'] = {"min":0, "max":1}
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}CipherReference'] = ('cipher_reference', CipherReference)
|
|
c_cardinality['cipher_reference'] = {"min":0, "max":1}
|
|
c_child_order.extend(['cipher_value', 'cipher_reference'])
|
|
|
|
def __init__(self,
|
|
cipher_value=None,
|
|
cipher_reference=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.cipher_value=cipher_value
|
|
self.cipher_reference=cipher_reference
|
|
|
|
def cipher_data_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(CipherDataType_, xml_string)
|
|
|
|
|
|
class EncryptionProperties(EncryptionPropertiesType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptionProperties element """
|
|
|
|
c_tag = 'EncryptionProperties'
|
|
c_namespace = NAMESPACE
|
|
c_children = EncryptionPropertiesType_.c_children.copy()
|
|
c_attributes = EncryptionPropertiesType_.c_attributes.copy()
|
|
c_child_order = EncryptionPropertiesType_.c_child_order[:]
|
|
c_cardinality = EncryptionPropertiesType_.c_cardinality.copy()
|
|
|
|
def encryption_properties_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptionProperties, xml_string)
|
|
|
|
|
|
class CipherData(CipherDataType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:CipherData element """
|
|
|
|
c_tag = 'CipherData'
|
|
c_namespace = NAMESPACE
|
|
c_children = CipherDataType_.c_children.copy()
|
|
c_attributes = CipherDataType_.c_attributes.copy()
|
|
c_child_order = CipherDataType_.c_child_order[:]
|
|
c_cardinality = CipherDataType_.c_cardinality.copy()
|
|
|
|
def cipher_data_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(CipherData, xml_string)
|
|
|
|
|
|
class EncryptedType_(SamlBase):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptedType element """
|
|
|
|
c_tag = 'EncryptedType'
|
|
c_namespace = NAMESPACE
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}EncryptionMethod'] = ('encryption_method', EncryptionMethod)
|
|
c_cardinality['encryption_method'] = {"min":0, "max":1}
|
|
c_children['{http://www.w3.org/2000/09/xmldsig#}KeyInfo'] = ('key_info', ds.KeyInfo)
|
|
c_cardinality['key_info'] = {"min":0, "max":1}
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}CipherData'] = ('cipher_data', CipherData)
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}EncryptionProperties'] = ('encryption_properties', EncryptionProperties)
|
|
c_cardinality['encryption_properties'] = {"min":0, "max":1}
|
|
c_attributes['Id'] = ('id', 'ID', False)
|
|
c_attributes['Type'] = ('type', 'anyURI', False)
|
|
c_attributes['MimeType'] = ('mime_type', 'string', False)
|
|
c_attributes['Encoding'] = ('encoding', 'anyURI', False)
|
|
c_child_order.extend(['encryption_method', 'key_info', 'cipher_data', 'encryption_properties'])
|
|
|
|
def __init__(self,
|
|
encryption_method=None,
|
|
key_info=None,
|
|
cipher_data=None,
|
|
encryption_properties=None,
|
|
id=None,
|
|
type=None,
|
|
mime_type=None,
|
|
encoding=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
SamlBase.__init__(self,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.encryption_method=encryption_method
|
|
self.key_info=key_info
|
|
self.cipher_data=cipher_data
|
|
self.encryption_properties=encryption_properties
|
|
self.id=id
|
|
self.type=type
|
|
self.mime_type=mime_type
|
|
self.encoding=encoding
|
|
|
|
|
|
class EncryptedDataType_(EncryptedType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptedDataType element """
|
|
|
|
c_tag = 'EncryptedDataType'
|
|
c_namespace = NAMESPACE
|
|
c_children = EncryptedType_.c_children.copy()
|
|
c_attributes = EncryptedType_.c_attributes.copy()
|
|
c_child_order = EncryptedType_.c_child_order[:]
|
|
c_cardinality = EncryptedType_.c_cardinality.copy()
|
|
|
|
def encrypted_data_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptedDataType_, xml_string)
|
|
|
|
|
|
class CarriedKeyName(SamlBase):
|
|
|
|
c_tag = 'CarriedKeyName'
|
|
c_namespace = NAMESPACE
|
|
c_value_type = {'base': 'string'}
|
|
c_children = SamlBase.c_children.copy()
|
|
c_attributes = SamlBase.c_attributes.copy()
|
|
c_child_order = SamlBase.c_child_order[:]
|
|
c_cardinality = SamlBase.c_cardinality.copy()
|
|
|
|
def carried_key_name_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(CarriedKeyName, xml_string)
|
|
|
|
|
|
class EncryptedKeyType_(EncryptedType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptedKeyType element """
|
|
|
|
c_tag = 'EncryptedKeyType'
|
|
c_namespace = NAMESPACE
|
|
c_children = EncryptedType_.c_children.copy()
|
|
c_attributes = EncryptedType_.c_attributes.copy()
|
|
c_child_order = EncryptedType_.c_child_order[:]
|
|
c_cardinality = EncryptedType_.c_cardinality.copy()
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}ReferenceList'] = ('reference_list', ReferenceList)
|
|
c_cardinality['reference_list'] = {"min":0, "max":1}
|
|
c_children['{http://www.w3.org/2001/04/xmlenc#}CarriedKeyName'] = ('carried_key_name', CarriedKeyName)
|
|
c_cardinality['carried_key_name'] = {"min":0, "max":1}
|
|
c_attributes['Recipient'] = ('recipient', 'string', False)
|
|
c_child_order.extend(['reference_list', 'carried_key_name'])
|
|
|
|
def __init__(self,
|
|
reference_list=None,
|
|
carried_key_name=None,
|
|
recipient=None,
|
|
encryption_method=None,
|
|
key_info=None,
|
|
cipher_data=None,
|
|
encryption_properties=None,
|
|
id=None,
|
|
type=None,
|
|
mime_type=None,
|
|
encoding=None,
|
|
text=None,
|
|
extension_elements=None,
|
|
extension_attributes=None,
|
|
):
|
|
EncryptedType_.__init__(self,
|
|
encryption_method=encryption_method,
|
|
key_info=key_info,
|
|
cipher_data=cipher_data,
|
|
encryption_properties=encryption_properties,
|
|
id=id,
|
|
type=type,
|
|
mime_type=mime_type,
|
|
encoding=encoding,
|
|
text=text,
|
|
extension_elements=extension_elements,
|
|
extension_attributes=extension_attributes,
|
|
)
|
|
self.reference_list=reference_list
|
|
self.carried_key_name=carried_key_name
|
|
self.recipient=recipient
|
|
|
|
def encrypted_key_type__from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptedKeyType_, xml_string)
|
|
|
|
|
|
class EncryptedData(EncryptedDataType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptedData element """
|
|
|
|
c_tag = 'EncryptedData'
|
|
c_namespace = NAMESPACE
|
|
c_children = EncryptedDataType_.c_children.copy()
|
|
c_attributes = EncryptedDataType_.c_attributes.copy()
|
|
c_child_order = EncryptedDataType_.c_child_order[:]
|
|
c_cardinality = EncryptedDataType_.c_cardinality.copy()
|
|
|
|
def encrypted_data_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptedData, xml_string)
|
|
|
|
|
|
class EncryptedKey(EncryptedKeyType_):
|
|
"""The http://www.w3.org/2001/04/xmlenc#:EncryptedKey element """
|
|
|
|
c_tag = 'EncryptedKey'
|
|
c_namespace = NAMESPACE
|
|
c_children = EncryptedKeyType_.c_children.copy()
|
|
c_attributes = EncryptedKeyType_.c_attributes.copy()
|
|
c_child_order = EncryptedKeyType_.c_child_order[:]
|
|
c_cardinality = EncryptedKeyType_.c_cardinality.copy()
|
|
|
|
def encrypted_key_from_string(xml_string):
|
|
return saml2.create_class_from_xml_string(EncryptedKey, xml_string)
|
|
|
|
ds.KeyInfo.c_children['{http://www.w3.org/2000/09/xmlenc#}EncryptedKey'] = (
|
|
'encrypted_key',
|
|
EncryptedKey)
|
|
|
|
|
|
ELEMENT_FROM_STRING = {
|
|
EncryptionMethodType_.c_tag: encryption_method_type__from_string,
|
|
KeySizeType_.c_tag: key_size_type__from_string,
|
|
CipherData.c_tag: cipher_data_from_string,
|
|
CipherDataType_.c_tag: cipher_data_type__from_string,
|
|
CipherReference.c_tag: cipher_reference_from_string,
|
|
CipherReferenceType_.c_tag: cipher_reference_type__from_string,
|
|
TransformsType_.c_tag: transforms_type__from_string,
|
|
EncryptedData.c_tag: encrypted_data_from_string,
|
|
EncryptedDataType_.c_tag: encrypted_data_type__from_string,
|
|
EncryptedKey.c_tag: encrypted_key_from_string,
|
|
EncryptedKeyType_.c_tag: encrypted_key_type__from_string,
|
|
AgreementMethod.c_tag: agreement_method_from_string,
|
|
AgreementMethodType_.c_tag: agreement_method_type__from_string,
|
|
ReferenceList.c_tag: reference_list_from_string,
|
|
ReferenceType_.c_tag: reference_type__from_string,
|
|
EncryptionProperties.c_tag: encryption_properties_from_string,
|
|
EncryptionPropertiesType_.c_tag: encryption_properties_type__from_string,
|
|
EncryptionProperty.c_tag: encryption_property_from_string,
|
|
EncryptionPropertyType_.c_tag: encryption_property_type__from_string,
|
|
CipherValue.c_tag: cipher_value_from_string,
|
|
KA_Nonce.c_tag: k_a__nonce_from_string,
|
|
OriginatorKeyInfo.c_tag: originator_key_info_from_string,
|
|
RecipientKeyInfo.c_tag: recipient_key_info_from_string,
|
|
KeySize.c_tag: key_size_from_string,
|
|
OAEPparams.c_tag: oae_pparams_from_string,
|
|
Transforms.c_tag: transforms_from_string,
|
|
EncryptionMethod.c_tag: encryption_method_from_string,
|
|
DataReference.c_tag: data_reference_from_string,
|
|
KeyReference.c_tag: key_reference_from_string,
|
|
CarriedKeyName.c_tag: carried_key_name_from_string,
|
|
}
|
|
|
|
ELEMENT_BY_TAG = {
|
|
'EncryptionMethodType': EncryptionMethodType_,
|
|
'KeySizeType': KeySizeType_,
|
|
'CipherData': CipherData,
|
|
'CipherDataType': CipherDataType_,
|
|
'CipherReference': CipherReference,
|
|
'CipherReferenceType': CipherReferenceType_,
|
|
'TransformsType': TransformsType_,
|
|
'EncryptedData': EncryptedData,
|
|
'EncryptedDataType': EncryptedDataType_,
|
|
'EncryptedKey': EncryptedKey,
|
|
'EncryptedKeyType': EncryptedKeyType_,
|
|
'AgreementMethod': AgreementMethod,
|
|
'AgreementMethodType': AgreementMethodType_,
|
|
'ReferenceList': ReferenceList,
|
|
'ReferenceType': ReferenceType_,
|
|
'EncryptionProperties': EncryptionProperties,
|
|
'EncryptionPropertiesType': EncryptionPropertiesType_,
|
|
'EncryptionProperty': EncryptionProperty,
|
|
'EncryptionPropertyType': EncryptionPropertyType_,
|
|
'CipherValue': CipherValue,
|
|
'KA_Nonce': KA_Nonce,
|
|
'OriginatorKeyInfo': OriginatorKeyInfo,
|
|
'RecipientKeyInfo': RecipientKeyInfo,
|
|
'KeySize': KeySize,
|
|
'OAEPparams': OAEPparams,
|
|
'Transforms': Transforms,
|
|
'EncryptionMethod': EncryptionMethod,
|
|
'DataReference': DataReference,
|
|
'KeyReference': KeyReference,
|
|
'CarriedKeyName': CarriedKeyName,
|
|
'EncryptedType': EncryptedType_,
|
|
}
|
|
|
|
|
|
def factory(tag, **kwargs):
|
|
return ELEMENT_BY_TAG[tag](**kwargs)
|
|
|