+
    šh©j8   ã                   ó°   € R t ^ RIHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
HtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHt ^ RIHt  ! R R]4      tR# )z
DSS keys.
)ÚInvalidSignature)Údefault_backend)ÚhashesÚserialization)Údsa)Údecode_dss_signatureÚencode_dss_signature)Úutil)Ú	zero_byte)ÚSSHException)ÚMessage)ÚBERÚBERException)ÚPKeyc                   óª   a € ] tR t^(t o RtRtRR ltR tR t]	R 4       t
R tR	 tR
 tRR ltR tRR ltRR lt]RR l4       tR tR tR tRtV tR# )ÚDSSKeyzL
Representation of a DSS key which can be used to sign an verify SSH2
data.
zssh-dssNc                ód  € R V n         R V n        R V n        R V n        R V n        R V n        Ve   V P                  Wd4       R # Ve   V P                  W44       R # Vf   Ve   \        V4      pVe   Vw  V n         V n        V n        V n        MV P                  VV P                  V P                   R2R7       VP                  4       V n         VP                  4       V n        VP                  4       V n        VP                  4       V n        \        P                  ! V P                   4      V n        R # )Nz-cert-v01@openssh.com)ÚmsgÚkey_typeÚ	cert_type)ÚpÚqÚgÚyÚxÚpublic_blobÚ_from_private_keyÚ_from_private_key_filer   Ú_check_type_and_load_certÚnameÚ	get_mpintr	   Ú
bit_lengthÚsize)Úselfr   ÚdataÚfilenameÚpasswordÚvalsÚfile_objs   &&&&&&&ÚJ/var/www/html/bestweb/venv/lib/python3.14/site-packages/paramiko/dsskey.pyÚ__init__ÚDSSKey.__init__0   s  € ð ˆŒØˆŒØˆŒØˆŒØˆŒØˆÔØÒØ×"Ñ" 8Ô6ÙØÒØ×'Ñ'¨Ô;ÙØŠK˜dÒ.Ü˜$“-ˆCØÒØ-1Ñ*ˆDŒF�D”F˜DœF D¥Fà×*Ñ*ØØŸ™Ø!ŸY™Y˜KÐ'<Ð=ð +ô ð
 —]‘]“_ˆDŒFØ—]‘]“_ˆDŒFØ—]‘]“_ˆDŒFØ—]‘]“_ˆDŒFÜ—O’O D§F¡FÓ+ˆŽ	ó    c                óD  € \        4       pVP                  V P                  4       VP                  V P                  4       VP                  V P
                  4       VP                  V P                  4       VP                  V P                  4       VP                  4       # ©N)	r   Ú
add_stringr   Ú	add_mpintr   r   r   r   Úasbytes)r#   Úms   & r)   r1   ÚDSSKey.asbytesU   se   € Ü‹IˆØ	�‰�T—Y‘YÔØ	�‰�D—F‘FÔØ	�‰�D—F‘FÔØ	�‰�D—F‘FÔØ	�‰�D—F‘FÔØ�y‰y‹{Ðr,   c                ó"   € V P                  4       # r.   )r1   ©r#   s   &r)   Ú__str__ÚDSSKey.__str__^   s   € Ø�|‰|‹~Ðr,   c                ó|   € V P                  4       V P                  V P                  V P                  V P                  3# r.   )Úget_namer   r   r   r   r5   s   &r)   Ú_fieldsÚDSSKey._fieldsa   s)   € à—‘“ §¡¨¯©°·±¸¿¹Ð@Ð@r,   c                ó   € V P                   # r.   )r   r5   s   &r)   r9   ÚDSSKey.get_namef   ó   € Ø�y‰yÐr,   c                ó   € V P                   # r.   )r"   r5   s   &r)   Úget_bitsÚDSSKey.get_bitsi   r>   r,   c                ó   € V P                   R J# r.   )r   r5   s   &r)   Úcan_signÚDSSKey.can_signl   s   € Ø�v‰v˜TÐ!Ð!r,   c                ó,  € \         P                  ! V P                  \         P                  ! V P                  \         P
                  ! V P                  V P                  V P                  R 7      R7      R7      P                  \        4       R7      pVP                  V\        P                  ! 4       4      p\        V4      w  rV\        4       pVP!                  V P"                  4       \$        P&                  ! V^ 4      p\$        P&                  ! V^ 4      p	\)        V4      ^8  d%   \*        ^\)        V4      ,
          ,          V,           p\)        V	4      ^8  d%   \*        ^\)        V	4      ,
          ,          V	,           p	VP!                  W‰,           4       V# )©r   r   r   ©r   Úparameter_numbers©r   Úpublic_numbers©Úbackend)r   ÚDSAPrivateNumbersr   ÚDSAPublicNumbersr   ÚDSAParameterNumbersr   r   r   Úprivate_keyr   Úsignr   ÚSHA1r   r   r/   r   r	   Údeflate_longÚlenr
   )
r#   r$   Ú	algorithmÚkeyÚsigÚrÚsr2   ÚrstrÚsstrs
   &&&       r)   Úsign_ssh_dataÚDSSKey.sign_ssh_datao   s  € Ü×#Ò#Ø�f‰fÜ×/Ò/Ø—&‘&Ü"%×"9Ò"9Ø—f‘f §¡¨$¯&©&ô#ôô
÷ ‰+œoÓ/ˆ+Ó
0ð 	ð �h‰h�tœVŸ[š[›]Ó+ˆÜ# CÓ(‰ˆä‹IˆØ	�‰�T—Y‘YÔä× Ò   AÓ&ˆÜ× Ò   AÓ&ˆÜˆt‹9�rŒ>Ü ¤S¨£Y¥Õ/°$Õ6ˆDÜˆt‹9�rŒ>Ü ¤S¨£Y¥Õ/°$Õ6ˆDØ	�‰�T•[Ô!Øˆr,   c           	     ó¤  € \        VP                  4       4      ^(8X  d   VP                  4       pM2VP                  4       pW@P                  8w  d   ^ # VP	                  4       p\
        P                  ! VR,          ^4      p\
        P                  ! VR,          ^4      p\        WV4      p\        P                  ! V P                  \        P                  ! V P                  V P                  V P                  R7      R7      P                  \!        4       R7      p VP#                  Wq\$        P&                  ! 4       4       R#   \(         d     R# i ; i)é(   :Né   N:r`   NNrF   rG   rK   TF)rT   r1   Úget_textr   Ú
get_binaryr	   Úinflate_longr   r   rN   r   rO   r   r   r   Ú
public_keyr   Úverifyr   rR   r   )	r#   r$   r   rW   ÚkindÚsigRÚsigSÚ	signaturerV   s	   &&&      r)   Úverify_ssh_sigÚDSSKey.verify_ssh_sigˆ   sú   € Üˆs�{‰{‹}Ó Ô#à—+‘+“-‰Cà—<‘<“>ˆDØ—y‘yÔ ÙØ—.‘.Ó"ˆCô × Ò   S¥¨1Ó-ˆÜ× Ò   S¥¨1Ó-ˆä(¨Ó4ˆ	ä×"Ò"Ø�f‰fÜ!×5Ò5Ø—&‘&˜DŸF™F d§f¡fôô
÷
 ‰*œ_Ó.ˆ*Ó
/ð 	ð	Ø�J‰J�y¬¯ª«Ô6ñ øô  ô 	Úð	ús   Ä%E  Å EÅEc                ó~  € \         P                  ! V P                  \         P                  ! V P                  \         P
                  ! V P                  V P                  V P                  R 7      R7      R7      P                  \        4       R7      pV P                  VV\        P                  P                  VR7       R# ©rF   rG   rI   rK   )r&   N)r   rM   r   rN   r   rO   r   r   r   rP   r   Ú_write_private_key_filer   ÚPrivateFormatÚTraditionalOpenSSL)r#   r%   r&   rV   s   &&& r)   Úwrite_private_key_fileÚDSSKey.write_private_key_file¥   s�   € Ü×#Ò#Ø�f‰fÜ×/Ò/Ø—&‘&Ü"%×"9Ò"9Ø—f‘f §¡¨$¯&©&ô#ôô
÷ ‰+œoÓ/ˆ+Ó
0ð 	ð 	×$Ñ$ØØÜ×'Ñ'×:Ñ:Øð	 	%ö 	
r,   c                ó~  € \         P                  ! V P                  \         P                  ! V P                  \         P
                  ! V P                  V P                  V P                  R 7      R7      R7      P                  \        4       R7      pV P                  VV\        P                  P                  VR7       R# rm   )r   rM   r   rN   r   rO   r   r   r   rP   r   Ú_write_private_keyr   ro   rp   )r#   r(   r&   rV   s   &&& r)   Úwrite_private_keyÚDSSKey.write_private_key·   s�   € Ü×#Ò#Ø�f‰fÜ×/Ò/Ø—&‘&Ü"%×"9Ò"9Ø—f‘f §¡¨$¯&©&ô#ôô
÷ ‰+œoÓ/ˆ+Ó
0ð 	ð 	×ÑØØÜ×'Ñ'×:Ñ:Øð	 	 ö 	
r,   c                ó€  € \         P                  ! V \        4       R7      P                  4       p\	        VP
                  P                  P                  VP
                  P                  P                  VP
                  P                  P                  VP
                  P                  3R7      pVP                  Vn        V# )zô
Generate a new private DSS key.  This factory function can be used to
generate a new host key or authentication key.

:param int bits: number of bits the generated key should be.
:param progress_func: Unused
:return: new `.DSSKey` private key
rK   )r'   )r   Úgenerate_private_keyr   Úprivate_numbersr   rJ   rH   r   r   r   r   r   )ÚbitsÚprogress_funcÚnumbersrV   s   &&  r)   ÚgenerateÚDSSKey.generateÉ   s˜   € ô ×*Ò*Øœ/Ó+ô
ç
‰/Ó
ð 	ô à×&Ñ&×8Ñ8×:Ñ:Ø×&Ñ&×8Ñ8×:Ñ:Ø×&Ñ&×8Ñ8×:Ñ:Ø×&Ñ&×(Ñ(ð	ô
ˆð —	‘	ˆŒØˆ
r,   c                óL   € V P                  R W4      pV P                  V4       R# ©ÚDSAN)Ú_read_private_key_fileÚ_decode_key)r#   r%   r&   r$   s   &&& r)   r   ÚDSSKey._from_private_key_fileã   s"   € Ø×*Ñ*¨5°(ÓEˆØ×Ñ˜Ör,   c                óL   € V P                  R W4      pV P                  V4       R# r€   )Ú_read_private_keyrƒ   )r#   r(   r&   r$   s   &&& r)   r   ÚDSSKey._from_private_keyç   s"   € Ø×%Ñ% e¨XÓ@ˆØ×Ñ˜Ör,   c                óš  € Vw  r!W P                   8X  d    \        V4      P                  4       pMGW P                  8X  d'   V P                  VR4      p^ .\        V4      ,           pMV P                  V4       \        X4      \        Jg   \        V4      ^8  g   V^ ,          ^ 8w  d   \	        R4      hV^,          V n        V^,          V n        V^,          V n        V^,          V n        V^,          V n        \"        P$                  ! V P                  4      V n        R#   \         d    p\	        R P                  T4      4      hRp?ii ; i)zUnable to parse key file: {}NÚiiiiiz3not a valid DSA private key file (bad ber encoding))Ú_PRIVATE_KEY_FORMAT_ORIGINALr   Údecoder   r   ÚformatÚ_PRIVATE_KEY_FORMAT_OPENSSHÚ_uint32_cstruct_unpackÚlistÚ_got_bad_key_format_idÚtyperT   r   r   r   r   r   r	   r!   r"   )r#   r$   ÚpkformatÚkeylistÚes   &&   r)   rƒ   ÚDSSKey._decode_keyë   s  € Ø‰ˆð ×8Ñ8Ô8ðMÜ˜d›)×*Ñ*Ó,‘ð ×9Ñ9Ô9Ø×1Ñ1°$¸Ó@ˆGØ�cœD ›MÕ)‰Gà×'Ñ'¨Ô1Ü�‹=¤Ó$¬¨G«°qÔ(8¸GÀA½JÈ!¼OÜØEóð ð ˜•ˆŒØ˜•ˆŒØ˜•ˆŒØ˜•ˆŒØ˜•ˆŒÜ—O’O D§F¡FÓ+ˆŽ	øô!  ô MÜ"Ð#A×#HÑ#HÈÓ#KÓLÐLûðMús   –D  Ä E
Ä+EÅE
)r   r   r   r   r"   r   r   )NNNNNNr.   )i   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r*   r1   r6   Úpropertyr:   r9   r@   rC   r\   rj   rq   ru   Ústaticmethodr}   r   r   rƒ   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r)   r   r   (   s‚   ø‡ € ñð
 €Dô#,òJòð ñAó ðAòòò"ôò2ô:
ô$
ð$ óó ðò2ò÷,ð ,r,   r   N)rš   Úcryptography.exceptionsr   Úcryptography.hazmat.backendsr   Úcryptography.hazmat.primitivesr   r   Ú)cryptography.hazmat.primitives.asymmetricr   Ú/cryptography.hazmat.primitives.asymmetric.utilsr   r   Úparamikor	   Úparamiko.commonr
   Úparamiko.ssh_exceptionr   Úparamiko.messager   Úparamiko.berr   r   Úparamiko.pkeyr   r   © r,   r)   Ú<module>r¬      s?   ðñ&õ 5Ý 8ß @Ý 9÷õ
 Ý %Ý /Ý $ß *Ý ôZ,ˆTö Z,r,   