§
    ¢”jþ  ã                   ó:  — d dl mZmZmZmZ d dlZddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZ dd	lmZ  e¦   «         d
k    r	ddlmZmZ nddlmZmZ g d¢Z ej        ¦   «         Zed          ed         fZdd„Zd„ Zd„ Z G d„ d¦  «        Zedk    r	de_        dS dS )é    )Úunicode_literalsÚdivisionÚabsolute_importÚprint_functionNé   )Úffié   )Ú_try_decode)ÚSignatureError)ÚnewÚunwrapÚnull)Ústr_clsÚcffi)Úadvapi32Ú	get_error)r   ÚAdvapi32ConstÚhandle_errorTc                 ó2  — | t           j        k    rt           j        }n/| t           j        k    rt           j        }nt          d| z  ¦  «        ‚|s| t           j        k    rt          ¦   «         }t           j        }nt           j        }t           j	        }t          t          d¦  «        }t          j        ||| ||¦  «        }|s:t          ¦   «         d         t           j        k    rt          j        ||| |d¦  «        }t          |¦  «         t!          |¦  «        S )NzInvalid provider specified: %szHCRYPTPROV *r   )r   ÚMS_ENH_RSA_AES_PROVÚPROV_RSA_AESÚMS_ENH_DSS_DH_PROVÚPROV_DSS_DHÚ
ValueErrorr   ÚCRYPT_VERIFYCONTEXTÚCONTAINER_NAMEÚCRYPT_NEWKEYSETr   r   ÚCryptAcquireContextWr   Ú
NTE_EXISTSr   r   )ÚproviderÚverify_onlyÚprovider_typeÚcontainer_nameÚflagsÚcontext_handle_pointerÚress          úf/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/oscrypto/_win/_advapi32.pyÚopen_context_handler(      s  € Ø•=Ô4Ò4Ð4Ý%Ô2ˆˆØ	•]Ô5Ò	5Ð	5Ý%Ô1ˆˆåÐ9¸HÑDÑEÔEÐEð ð .�h¥-Ô"BÒBÐBÝ™œˆÝÔ1ˆˆå&Ô5ˆÝÔ-ˆå ¥¨>Ñ:Ô:ÐÝ
Ô
'ØØØØØñô €Cð ð 
•9‘;”;˜q”>¥]Ô%=Ò=Ð=ÝÔ+Ø"ØØØØñ
ô 
ˆõ �ÑÔÐåÐ(Ñ)Ô)Ð)ó    c                 óN   — t          j        | d¦  «        }t          |¦  «         d S )Nr   )r   ÚCryptReleaseContextr   )Úhandler&   s     r'   Úclose_context_handler-   D   s(   € Ý
Ô
& v¨qÑ
1Ô
1€CÝ�ÑÔÐÐÐr)   c                 óÐ   — | rdS t          ¦   «         \  }}|t          j        k    rt          d¦  «        ‚t	          |t
          ¦  «        st          |¦  «        }t          |¦  «        ‚)zÎ
    Extracts the last Windows error message into a python unicode string

    :param result:
        A function result, 0 or None indicates failure

    :return:
        A unicode string error message
    NzSignature is invalid)r   r   ÚNTE_BAD_SIGNATUREr   Ú
isinstancer   r
   ÚOSError)ÚresultÚcodeÚerror_strings      r'   r   r   I   si   € ð ð Øˆå"™œÑ€Dˆ,à�}Ô.Ò.Ð.ÝÐ3Ñ4Ô4Ð4å�l¥GÑ,Ô,ð 1Ý" <Ñ0Ô0ˆå
�,Ñ
Ô
Ðr)   c                   óÆ   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd
Zd
Z dZ!dZ"dZ#dZ$d
Z%dZ&d Z'd!Z(d"Z)d#Z*d$Z+dZ,d%Z-d&Z.d'Z/d(Z0d)S )*r   zoscrypto temporary DSS keyseté   é   é   é,   é(   é   z@Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Providerz5Microsoft Enhanced RSA and AES Cryptographic Providerr	   l      ` i€  i€  i€  i€  i€  if  ih  if  i	f  if  if  if  if  i "  i $  i ¤  r   é   é   é   é   é   é@   i 	€i 	€iRSA1iRSA2iDSS1iDSS2N)1Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚX509_PUBLIC_KEY_INFOÚPKCS_PRIVATE_KEY_INFOÚX509_DSS_SIGNATUREÚCRYPT_NO_SALTr   r   ÚCRYPT_EXPORTABLEr   r   ÚCALG_MD5Ú	CALG_SHA1ÚCALG_SHA_256ÚCALG_SHA_384ÚCALG_SHA_512ÚCALG_RC2ÚCALG_RC4ÚCALG_DESÚCALG_3DES_112Ú	CALG_3DESÚCALG_AES_128ÚCALG_AES_192ÚCALG_AES_256ÚCALG_DSS_SIGNÚCALG_RSA_SIGNÚCALG_RSA_KEYXÚCRYPT_MODE_CBCÚPKCS5_PADDINGÚCUR_BLOB_VERSIONÚPUBLICKEYBLOBÚPRIVATEKEYBLOBÚPLAINTEXTKEYBLOBÚKP_IVÚ
KP_PADDINGÚKP_MODEÚKP_EFFECTIVE_KEYLENÚ
CRYPT_OAEPr/   r   ÚAT_SIGNATUREÚRSA1ÚRSA2ÚDSS1ÚDSS2© r)   r'   r   r   b   sÿ   € € € € € à4€Nà€LØ€KàÐØÐØÐØ€Mà[ÐàQÐàÐØ €OØ$Ðà€HØ€IØ€LØ€LØ€Là€HØ€HØ€HØ€MØ€IØ€LØ€LØ€Là€MØ€MØ€Mà€Nà€MàÐØ€MØ€NØÐà€EØ€JØ€GØÐà€Jà#ÐØ€JØ€Là€DØ€DØ€DØ€D€D€Dr)   r   )é   r	   zAMicrosoft Enhanced RSA and AES Cryptographic Provider (Prototype))T)Ú
__future__r   r   r   r   ÚsysÚ r   Ú_decoder
   Úerrorsr   Ú_ffir   r   r   Ú_typesr   Ú_advapi32_cffir   r   Ú_advapi32_ctypesÚ__all__ÚgetwindowsversionÚ_gwvÚ_win_version_infor(   r-   r   r   r   rj   r)   r'   ú<module>ry      s�  ðà RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rà 
€
€
€
à Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø #Ð #Ð #Ð #Ð #Ð #Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð à€3�5„5ˆF‚?€?Ø3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3à5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ðð ð €ð €sÔÑÔ€Ø˜!”W˜d 1œgÐ&Ð ð$*ð $*ð $*ð $*ðNð ð ð
 ð  ð  ð2>ð >ð >ð >ð >ñ >ô >ð >ðB ˜ÒÐà(k€MÔ%Ð%Ð%ð Ðr)   