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__/wsse.cpython-311.pyc
�

�/$Z|(��"�dZddlmZddlZejdkrexZZddlZddl	m
Z
ddlZddlZddl
Z
ddlZddlmZmZmZmZddlmZddlZddlZdd	l
mZd
�ZdZdZd
ZdZdZdZGd�d��Z Gd�de ��Z!dZ"Gd�d��Z#dS)zFPythonic simple SOAP Client plugins for WebService Security extensions�)�unicode_literalsN�3)�Decimal�)�
__author__�
__copyright__�__license__�__version__)�SimpleXMLElement)�sha1c�Z�d�d�t|��D����S)N�c3�K�|]A}tj���tjtjz��V��BdS�N)�random�SystemRandom�choice�string�ascii_uppercase�digits)�.0�_s  �3/usr/lib/python3/dist-packages/pysimplesoap/wsse.py�	<genexpr>zrandombytes.<locals>.<genexpr>$sD����j�j�\]�6�&�(�(�/�/��0F���0V�W�W�j�j�j�j�j�j�)�join�range)�Ns r�randombytesr#s-��
�7�7�j�j�af�gh�ai�ai�j�j�j�j�j�jrzQhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdzRhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdz"http://www.w3.org/2000/09/xmldsig#zUhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3z^http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binaryzahttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigestc�&�eZdZdZdd�Zd�Zd�ZdS)�
UsernameTokenzGWebService Security extension to add a basic credentials to xml requestrc��d||d�i|_dS)N�wsse:UsernameToken)�
wsse:Username�
wsse:Password)�token)�self�username�passwords   r�__init__zUsernameToken.__init__3s"�� �!)�!)�#�#���
�
�
rc��|d|���}d}	|	|vr
||	|_|�|	|jdd���t||	��d<dS)z)Add basic credentials to outgoing message�Header��ns�
wsse:SecurityF)r.�add_children_ns�
xmlns:wsseN)r&�marshall�WSSE_URI)
r'�client�request�method�args�kwargs�headers�soap_uri�header�ks
          r�
preprocesszUsernameToken.preprocess;se�����h�1�1�1������<�<� ���D�J�����4�:�%���G�G�G�"*���q�	�	�,���rc��dS)zAnalyze incoming credentialsN�)r'r4�responser6r7r8r9r:s        r�postprocesszUsernameToken.postprocessHs	��	
�rN)rr)�__name__�
__module__�__qualname__�__doc__r*r=rAr?rrr!r!0sL������M�M�����
+�
+�
+�
�
�
�
�
rr!c� �eZdZdZdd�Zd�ZdS)�UsernameDigestTokenz�
    WebService Security extension to add a http digest credentials to xml request
    drift -> time difference from the server in seconds, needed for 'Created' header
    rrc�V�||_||_tj|���|_dS)N)�seconds)r(r)�datetime�	timedelta�drift)r'r(r)rLs    rr*zUsernameDigestToken.__init__Ss)�� ��
� ��
��'��6�6�6��
�
�
rc��|d|���}|�dd���}	t|	d<t|	d<|	�dd���}
|
�d|jd���tj���|jz���d	z}|
�d
|d���td��}|
�d|�	d
��dd�d���}
t|
d<t��}|�||z|j
z��|���}|
�d|�	d
��dd�d���}t|d<dS)Nr,r-r/Fr1�	xmlns:wsur#r$�Zzwsu:Created�z
wsse:Nonce�base64����EncodingTyper%�Type)�	add_childr3�WSU_URIr(rJ�utcnowrL�	isoformatr�encode�Base64Binary_URIr�updater)�digest�PasswordDigest_URI)r'r4r5r6r7r8r9r:r;�wsse�	usertoken�created�nonce�	wssenonce�sha1objr\r)s                 rr=zUsernameDigestToken.preprocessXsy�����h�1�1�1������E��:�:��%��\��#��[���N�N�#7�E�N�B�B�	����O�T�]�u��E�E�E��$�+�+�-�-��
�:�E�E�G�G�#�M�����M�7�u��=�=�=��B�����'�'��e�l�l�8�6L�6L�S�b�S�6Q�V[�'�\�\�	�$4�	�.�!��&�&�����u�w����6�7�7�7����!�!���&�&���
�
�h�8O�8O�PS�QS�PS�8T�Y^�&�_�_��-�����rN)rrr)rBrCrDrEr*r=r?rrrGrGMsA��������
7�7�7�7�
.�.�.�.�.rrGaZ<?xml version="1.0" encoding="UTF-8"?>
<wsse:Security soapenv:mustUnderstand="1" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="CertId-45851B081998E431E8132880700036719" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
%(certificate)s</wsse:BinarySecurityToken>
    <ds:Signature Id="Signature-13" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        %(signed_info)s
        <ds:SignatureValue>%(signature_value)s</ds:SignatureValue>
        <ds:KeyInfo Id="KeyId-45851B081998E431E8132880700036720">
            <wsse:SecurityTokenReference wsu:Id="STRId-45851B081998E431E8132880700036821" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <wsse:Reference URI="#CertId-45851B081998E431E8132880700036719" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
            </wsse:SecurityTokenReference>
        </ds:KeyInfo>
    </ds:Signature>
</wsse:Security>
c�.�eZdZdZd	d�Zd�Zd�Zd
d�ZdS)�BinaryTokenSignaturezEWebService Security extension to add a basic signature to xml requestrNc��d�d�t|��D����|_||_||_||_dS)Nrc�<�g|]}|�d���|��S)z---)�
startswith)r�lines  r�
<listcomp>z1BinaryTokenSignature.__init__.<locals>.<listcomp>�s?��$H�$H�$H�T�04����0F�0F�$H�D�$H�$H�$Hr)r�open�certificate�private_keyr)�cacert)r'rlrmr)rns     rr*zBinaryTokenSignature.__init__�s\���7�7�$H�$H�T�+�5F�5F�$H�$H�$H�I�I���&��� ��
�����rc��|d|���}|d|���}	d|d<t|d<|dd�D]\}
}|
�d��r|||
<� t|��}d	d
lm}
|
�|d|j|j��}|j|d<tt|z��}|	�|��dS)
zSign the outgoing SOAP request�Bodyr-r,zid-14�wsu:IdrNN�xmlnsr��xmlsecz#id-14rl)rVrh�reprrrt�rsa_signrmr)rlr�BIN_TOKEN_TMPL�import_node)r'r4r5r6r7r8r9r:�bodyr;�attr�value�ref_xmlrt�varsr^s                rr=zBinaryTokenSignature.preprocess�s����w�v�(�-�-�-�����h�1�1�1�� ��X��#��[��"�1�1�1�:�	#�	#�K�D�%����w�'�'�
#�"��T�
���t�*�*�����������w��#�/���@�@��"�.��]����� 5�6�6�����4� � � � � rc��ddlm}|d|���}	|d|���}
|
dt���}|dt���}|�|dt��|�|d	t
��t
|���d
��}
|�|
d���}|j	stjd
��n,|�|j	|
d���std���|�|	dt��|	d}|dt���}|dt���}|dt���}|�|dt���dd|z��|�|dt���dtdz��|�|dt���dt���dtdz��|dd�D]\}}|�d��r||	|<� |�t%|	����}|�|��}t
|dt���dt�����}||krtd���t|d<t%|��}|�|t
|��|��}|std ���dS)!z-Verify the signature of the incoming responserrsrpr-r,�Security�BinarySecurityTokenrS�	ValueTyperQT)�binaryz/No CA provided, WSSE not validating certificatez"WSSE certificate validation failedrNrq�	Signature�
SignedInfo�SignatureValue�	Reference�URI�#�SignatureMethod�	Algorithmzrsa-sha1�DigestMethodrNrr�DigestValuezWSSE SHA1 hash digests mismatchz+WSSE RSA-SHA1 signature verification failed)rrtr3�_BinaryTokenSignature__checkrZ�
X509v3_URI�str�decode�x509_extract_rsa_public_keyrn�warnings�warn�x509_verify�RuntimeErrorrV�XMLDSIG_URIrh�canonicalizeru�sha1_hash_digest�
rsa_verify)r'r4r@r6r7r8r9r:rtryr;r^�cert�cert_der�
public_key�ref_uri�	signature�signed_info�signature_valuerzr{r|�
computed_hash�digest_value�xml�oks                          rrAz BinaryTokenSignature.postprocess�s%���������x��8�.�.�.����(�x�2�2�2���v�j�X�.�.�.���t�)�h�7�7�7�����T�.�)�+;�<�<�<����T�+�&�
�3�3�3��t�9�9�#�#�H�-�-���7�7���7�N�N�
��{�	E��M�K�L�L�L�L��#�#�D�K��$�#�G�G�	E��C�D�D�D����T�+�&��0�0�0��x�.���D���5�5�5�	��i���=�=�=��#�)�$4��E�E�E�����[�[���=�=�=�e�D�c�G�m�T�T�T����[�[�!2�{�C�C�C�K�P� �:�-�	/�	/�	/����=�[�[���=�=�=�n�Q\�]�]�]�^i�j� �6�)�	+�	+�	+�$�A�A�A�;�	#�	#�K�D�%����w�'�'�
#�"��T�
���%�%�d�4�j�j�1�1���0�0��9�9�
��C�;�;�{�{�C�C�C�M�Va�b�b�b�c�c���L�(�(��@�A�A�A�*��G���;����
�
�
�s�C��$8�$8�*�
E�
E���	N��L�M�M�M�	N�	Nr�WSSE sanity check failedc�0�||krt|���dSr)r�)r'r{�expected�msgs    r�__checkzBinaryTokenSignature.__check�s#���H����s�#�#�#��r)rrNN)r�)rBrCrDrEr*r=rAr�r?rrreresd������K�K�����!�!�!�.1N�1N�1N�h$�$�$�$�$�$rre)$rE�
__future__r�sys�versionr��
basestring�unicoderJ�decimalr�os�logging�hashlibr�rrrr	r
�	simplexmlrrrrrr3rVr�r�rZr]r!rGrwrer?rr�<module>r�s���M�L�(�'�'�'�'�'�
�
�
�
��;������J������������	�	�	�	�������������A�A�A�A�A�A�A�A�A�A�A�A�'�'�'�'�'�'�
�
�
�
�
�
�
�
�������k�k�k�
_��
^��2��
d�
�s��x��
�
�
�
�
�
�
�
�:.�.�.�.�.�-�.�.�.�D�� X$�X$�X$�X$�X$�X$�X$�X$�X$�X$r