本文整理匯總了Python中pysimplesoap.client.SimpleXMLElement.as_xml方法的典型用法代碼示例。如果您正苦於以下問題:Python SimpleXMLElement.as_xml方法的具體用法?Python SimpleXMLElement.as_xml怎麽用?Python SimpleXMLElement.as_xml使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pysimplesoap.client.SimpleXMLElement
的用法示例。
在下文中一共展示了SimpleXMLElement.as_xml方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: create_tra
# 需要導入模塊: from pysimplesoap.client import SimpleXMLElement [as 別名]
# 或者: from pysimplesoap.client.SimpleXMLElement import as_xml [as 別名]
def create_tra(service=SERVICE,ttl=2400):
"Crear un Ticket de Requerimiento de Acceso (TRA)"
tra = SimpleXMLElement(
'<?xml version="1.0" encoding="UTF-8"?>'
'<loginTicketRequest version="1.0">'
'</loginTicketRequest>')
tra.add_child('header')
# El source es opcional. Si falta, toma la firma (recomendado).
#tra.header.addChild('source','subject=...')
#tra.header.addChild('destination','cn=wsaahomo,o=afip,c=ar,serialNumber=CUIT 33693450239')
tra.header.add_child('uniqueId',str(date('U')))
tra.header.add_child('generationTime',str(date('c',date('U')-ttl)))
tra.header.add_child('expirationTime',str(date('c',date('U')+ttl)))
tra.add_child('service',service)
return tra.as_xml()
示例2: create_tra
# 需要導入模塊: from pysimplesoap.client import SimpleXMLElement [as 別名]
# 或者: from pysimplesoap.client.SimpleXMLElement import as_xml [as 別名]
def create_tra(service=None, ttl=2400, cert=None):
"Create a Access Request Ticket (TRA)"
# Base TRA squeleton (Ticket de Requerimiento de Acceso)
tra = SimpleXMLElement(
'<?xml version="1.0" encoding="UTF-8"?>'
'<loginTicketRequest version="1.0">'
'</loginTicketRequest>')
tra.add_child('header')
# get the source from the certificate subject, ie "CN=empresa, O=dna, C=py"
if cert:
crt = xmlsec.x509_parse_cert(cert)
tra.header.add_child('source', crt.get_subject().as_text())
tra.header.add_child('destination', 'C=py, O=dna, OU=sofia, CN=wsaatest')
d = int(time.mktime(datetime.datetime.now().timetuple()))
tra.header.add_child('uniqueId', str(d))
date = lambda ts: datetime.datetime.fromtimestamp(ts).isoformat()
tra.header.add_child('generationTime', str(date(d-ttl)))
tra.header.add_child('expirationTime', str(date(d+ttl)))
tra.add_child('service', service)
return tra.as_xml()
示例3: certificado
# 需要導入模塊: from pysimplesoap.client import SimpleXMLElement [as 別名]
# 或者: from pysimplesoap.client.SimpleXMLElement import as_xml [as 別名]
# leer el certificado (PEM) del emisor y agregarlo
cert_lines = open("certificado.crt").readlines()
cert_pem = ''.join([line for line in cert_lines
if not line.startswith("---")])
setattr(caratula, "DGICFE:X509Certificate", cert_pem)
# preparar la plantilla para la info de firma con los namespaces padres (CFE)
plantilla = SimpleXMLElement(xmlsec.SIGN_ENV_TMPL)
plantilla["xmlns:DGICFE"] = plantilla["xmlns:ns0"] = "http://cfe.dgi.gub.uy"
plantilla["xmlns:xsi"] = "http://www.w3.org/2001/XMLSchema-instance"
#plantilla["xsi:schemaLocation"] = "http://cfe.dgi.gub.uy EnvioCFE_v1.11.xsd"
# firmar el CFE, reemplazar valores en la plantilla y agregar la firma al CFE
# NOTA: para verificar la firma usar la plantilla RSA para KeyInfo (comentado)
vars = xmlsec.rsa_sign(cfe.as_xml(), '', "private.key", "password",
sign_template=plantilla.as_xml(), c14n_exc=False,
cert="".join(cert_lines),
key_info_template=xmlsec.KEY_INFO_X509_TMPL,
#key_info_template=xmlsec.KEY_INFO_RSA_TMPL,
)
firma_xml = (xmlsec.SIGNATURE_TMPL % vars)
cfe("ns0:CFE").import_node(SimpleXMLElement(firma_xml))
# guardo el xml firmado para depuración
open("test.xml", "w").write(cfe.as_xml())
print cfe.as_xml()
# serializar CDATA según el ejemplo
cdata = xml.dom.minidom.CDATASection()
cdata.data = cfe.as_xml()
示例4: certificado
# 需要導入模塊: from pysimplesoap.client import SimpleXMLElement [as 別名]
# 或者: from pysimplesoap.client.SimpleXMLElement import as_xml [as 別名]
# leer el certificado (PEM) del emisor y agregarlo
cert_lines = open("certificado.crt").readlines()
cert_fmt = [line for line in cert_lines if not line.startswith("---")]
cert_pem = ''.join(cert_fmt)
setattr(caratula, "DGICFE:X509Certificate", cert_pem)
cfeXML = cfe("ns0:CFE")
# preparar la plantilla para la info de firma con los namespaces padres (CFE)
plantilla = SimpleXMLElement(xmlsec.SIGN_ENV_TMPL)
plantilla["xmlns:DGICFE"] = plantilla["xmlns:ns0"] = "http://cfe.dgi.gub.uy"
vars = xmlsec.rsa_sign(cfeXML.write_c14n(), '', "private.key", 'la passphrase',
sign_template=plantilla.as_xml(), c14n_exc=False,
cert=''.join(cert_lines),
key_info_template=xmlsec.KEY_INFO_X509_TMPL,
#key_info_template=xmlsec.KEY_INFO_RSA_TMPL,
)
firma_xml = (xmlsec.SIGNATURE_TMPL % vars)
cfeXML.import_node(SimpleXMLElement(firma_xml))
# guardo el xml firmado para depuración
open("cfe_firmado.xml", "w").write(cfe.as_xml())
# serializar CDATA según el ejemplo
cdata = xml.dom.minidom.CDATASection()
cdata.data = cfeXML.as_xml()