o
    @Bi                     @   s   d dl mZ d dlZd dlZd dlmZ d dlZejddr$e	  nejddr0e
  nedd dlmZmZ d d	lmZ d d
lmZ erVd dlmZ d dlmZ d dlZd dlZdZdZee dG dd dejZG dd dejZdS )    )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                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestAuthc                 C   sB   t t| _| jjjtd| _t	 }|
d  | | _d S )N)encoderzsome TLS message)r
   from_ssh_datakeybodykey_keyencoder   privkey_hexhashlibsha256updatedigest
channel_id)selfm r   b/var/www/html/Trade-python/venv/lib/python3.10/site-packages/autobahn/wamp/test/test_cryptosign.pysetUpF   s
   zTestAuth.setUpc                 c   sL    t  }t | jd|j_tdtdd}| j||V }| 	d|j
 d S )Nreturn_valueticket@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff	challenge9b6f41540c9b95b4b7b281c3042fa9c54cef43c842d62ea3fd6030fcb66e70b3e80d49d44c29d1635da9348d02ec93f3ed1ef227dfb59a07b580095c2b82f80f9d16ca518aa0c2b707f2b2a609edeca73bca8dd59817a633f35574ac6fd80d00)r   r   
_transportget_channel_idr   	Challengedictr   sign_challengeassertEqualresult)r   sessionr$   signedr   r   r   
test_validM   s   zTestAuth.test_validc                 c   sZ    t dd| jd}t }t| jd|j_tdtdd}|	||V }| 
|jd d S )N
cryptosignsomeone)authidprivkeyr   r"   r#   r%   )r	   r   r   r   r&   r'   r   r(   r)   on_challenger+   r,   )r   authenticatorr-   r$   replyr   r   r   test_authenticatorW   s   zTestAuth.test_authenticatorN)__name__
__module____qualname__r   r/   r7   r   r   r   r   r   C   s    
r   c                   @   s@   e Zd Zdd Zee ddd Zee ddd ZdS )	TestKeyc                 C   s4   |  tdd |  tdd |  tdd d S )Nr       z   z)r+   r   )r   r   r   r   test_padi   s   zTestKey.test_padr   c                 C   s`   t d!}|t |d t|j}| |	 d W d    d S 1 s)w   Y  d S )Nw+tr   @1adfc8bfe1d35616e64dffbd900096f23b066f914c8c2ffbb66f6075b96e116d)
tempfileNamedTemporaryFilewriter   seekr
   from_ssh_keynamer+   
public_keyr   fpr   r   r   r   test_keyn   s   

"zTestKey.test_keyc                 C   sp   t d)}|t |d t|j}| |	 d | |
 d W d    d S 1 s1w   Y  d S )Nr@   r   @9569de18c7c0843212569dcddf2615c7f46125dc9b2292dea30b07b56a4d02a6zsomeuser@example.com)rB   rC   rD   pubkeyrE   r
   rF   rG   r+   rH   commentrI   r   r   r   test_pubkeyw   s   

"zTestKey.test_pubkeyN)	r8   r9   r:   r?   unittestskipIfr   rK   rO   r   r   r   r   r;   g   s    
r;   )
__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   rB   rP   r   rM   rQ   TestCaser   r;   r   r   r   r   <module>   s.   

#