
    8'h                        d dl mZ d dlZd dlZd dlmZ d dlZej                  j                  dd      r ej                          n6ej                  j                  dd      r ej                          n ed      d dlmZmZ d d	lmZ d d
lmZ erd dlmZ d dlmZ d dlZd dlZdZdZ ej4                  e d       G d dej6                               Z G d dej6                        Zy)    )absolute_importN)MockUSE_TWISTEDFUSE_ASYNCIOz no networking framework selected)_makepadHAS_CRYPTOSIGN)types)create_authenticator)
SigningKey)
HexEncodera  -----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACAa38i/4dNWFuZN/72QAJbyOwZvkUyML/u2b2B1uW4RbQAAAJj4FLyB+BS8
gQAAAAtzc2gtZWQyNTUxOQAAACAa38i/4dNWFuZN/72QAJbyOwZvkUyML/u2b2B1uW4RbQ
AAAEBNV9l6aPVVaWYgpthJwM5YJWhRjXKet1PcfHMt4oBFEBrfyL/h01YW5k3/vZAAlvI7
Bm+RTIwv+7ZvYHW5bhFtAAAAFXNvbWV1c2VyQGZ1bmt0aGF0LmNvbQ==
-----END OPENSSH PRIVATE KEY-----zfssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVp3hjHwIQyEladzd8mFcf0YSXcmyKS3qMLB7VqTQKm someuser@example.com
nacl library not presentc                       e Zd Zd Zd Zd Zy)TestAuthc                 .   t        j                  t              | _        | j                  j                  j                  t              | _        t        j                         }|j                  dj                                |j                         | _        y )N)encoderzsome TLS message)r   from_ssh_datakeybodykey_keyencoder   privkey_hexhashlibsha256updatedigest
channel_id)selfms     ^/var/www/html/trade_iq/venv/lib/python3.12/site-packages/autobahn/wamp/test/test_cryptosign.pysetUpzTestAuth.setUpF   sa    ++G488==//
/CNN	#**,-((*    c              #     K   t               }t        | j                        |j                  _        t	        j
                  dt        d            }| j                  j                  ||      }| j                  d|j                         y w)Nreturn_valueticket@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff	challenge9b6f41540c9b95b4b7b281c3042fa9c54cef43c842d62ea3fd6030fcb66e70b3e80d49d44c29d1635da9348d02ec93f3ed1ef227dfb59a07b580095c2b82f80f9d16ca518aa0c2b707f2b2a609edeca73bca8dd59817a633f35574ac6fd80d00)r   r   
_transportget_channel_idr	   	Challengedictr   sign_challengeassertEqualresult)r   sessionr(   signeds       r   
test_validzTestAuth.test_validM   sm     &,0doo,N)OOIti/HI	xx..w	BB PMM	
s   BBc              #   :  K   t        dd| j                        }t               }t        | j                        |j                  _        t        j                  dt        d            }|j                  ||      }| j                  |j                  d       y w)N
cryptosignsomeone)authidprivkeyr#   r&   r'   r)   )r
   r   r   r   r*   r+   r	   r,   r-   on_challenger/   r0   )r   authenticatorr1   r(   replys        r   test_authenticatorzTestAuth.test_authenticatorW   s     ,$$

 &,0doo,N)OOM4)3LM	#00)DDLL P	
s   BBN)__name__
__module____qualname__r    r3   r<    r!   r   r   r   C   s    %

r!   r   c                   z    e Zd Zd Z ej
                  e d      d        Z ej
                  e d      d        Zy)TestKeyc                     | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       y )Nr       z   z)r/   r   )r   s    r   test_padzTestKey.test_padi   s>    !b)!j1!n5r!   r   c                 "   t        j                  d      5 }|j                  t               |j	                  d       t        j                  |j                        }| j                  |j                         d       d d d        y # 1 sw Y   y xY w)Nw+tr   @1adfc8bfe1d35616e64dffbd900096f23b066f914c8c2ffbb66f6075b96e116d)
tempfileNamedTemporaryFilewriter   seekr   from_ssh_keynamer/   
public_keyr   fpr   s      r   test_keyzTestKey.test_keyn   sn    ((/ 	s2HHWGGAJ))"''2CS^^-/qr	s 	s 	ss   A&BBc                 b   t        j                  d      5 }|j                  t               |j	                  d       t        j                  |j                        }| j                  |j                         d       | j                  |j                         d       d d d        y # 1 sw Y   y xY w)NrI   r   @9569de18c7c0843212569dcddf2615c7f46125dc9b2292dea30b07b56a4d02a6zsomeuser@example.com)rK   rL   rM   pubkeyrN   r   rO   rP   r/   rQ   commentrR   s      r   test_pubkeyzTestKey.test_pubkeyw   s    ((/ 	D2HHVGGAJ))"''2CS^^-/qrS[[],BC	D 	D 	Ds   BB%%B.N)	r=   r>   r?   rG   unittestskipIfr   rT   rY   r@   r!   r   rB   rB   g   sW    6
 X__')CDs Es X__')CDD EDr!   rB   )
__future__r   r   osmockr   txaioenvirongetuse_twisteduse_asyncio	Exceptionautobahn.wamp.cryptosignr   r   autobahn.wampr	   autobahn.wamp.authr
   r   nacl.encodingr   rK   rZ   r   rW   r[   TestCaser   rB   r@   r!   r   <module>rj      s   6 '  	  ::>>-'EZZ^^M5)E
6
77 =  33(  %
 ^#%?@ 
x    
 A 
FDh Dr!   