o
    >ei                     @   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   W/var/www/html/humari/django-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   
