o
    &zhi  ã                   @   s–   d dl mZmZmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ eƒ dkr2dd	lmZmZ ndd	lmZmZ g d
¢Zdd„ ZG dd„ dƒZdS )é    )Úunicode_literalsÚdivisionÚabsolute_importÚprint_functioné   )Úffié   )Ú_try_decode)Úbuffer_from_bytes)Ústr_clsÚcffi)Úcrypt32Ú	get_error)r   ÚCrypt32ConstÚhandle_errorc                 C   s,   | rdS t ƒ \}}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
    N)r   Ú
isinstancer   r	   ÚOSError)ÚresultÚ_Úerror_string© r   úQ/var/www/html/kangema/venv/lib/python3.10/site-packages/oscrypto/_win/_crypt32.pyr      s   

r   c                   @   sx   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edƒZedƒZedƒZdS )r   r   éz   é   i 	€s   Memoryi    r   é   i   l        l   `  l     l     l     l   	  l     l      s   1.3.6.1.5.5.7.3.1 s   1.3.6.1.4.1.311.10.3.3 s   2.16.840.1.113730.4.1 N)Ú__name__Ú
__module__Ú__qualname__ÚX509_ASN_ENCODINGÚERROR_INSUFFICIENT_BUFFERÚ%CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAGÚCRYPT_E_NOT_FOUNDÚCERT_STORE_PROV_MEMORYÚCERT_STORE_CREATE_NEW_FLAGÚCERT_STORE_ADD_USE_EXISTINGÚUSAGE_MATCH_TYPE_ORÚCERT_CHAIN_POLICY_SSLÚAUTHTYPE_SERVERÚ'CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAGÚ.CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGSÚCERT_CHAIN_CACHE_END_CERTÚ&CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLYÚTRUST_E_CERT_SIGNATUREÚCERT_E_EXPIREDÚCERT_E_ROLEÚCERT_E_PURPOSEÚCERT_E_UNTRUSTEDROOTÚCERT_E_CN_NO_MATCHÚCRYPT_E_REVOKEDr
   ÚPKIX_KP_SERVER_AUTHÚSERVER_GATED_CRYPTOÚSGC_NETSCAPEr   r   r   r   r   ,   s2    r   N)Ú
__future__r   r   r   r   Ú r   Ú_decoder	   Ú_ffir
   Ú_typesr   Ú_crypt32_cffir   r   Ú_crypt32_ctypesÚ__all__r   r   r   r   r   r   Ú<module>   s   
