
    Bwgi                         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(  r	dd	lmZmZ ndd	lmZmZ g d
Zd Z G d d      Zy)    )unicode_literalsdivisionabsolute_importprint_function   )ffi   )_try_decode)buffer_from_bytes)str_clscffi)crypt32	get_error)r   Crypt32Consthandle_errorc                 n    | ry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_strings      M/var/www/horilla/myenv/lib/python3.12/site-packages/oscrypto/_win/_crypt32.pyr   r      s4     kOA|lG,"<0
,
    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 ed      Z ed      Z ed      Zy)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_NETSCAPE r   r   r   r   ,   s     #,/)#&!+"#O.8+5?2 !-7*'NKN%# O+,DE+,IJ$%ABLr   r   N)
__future__r   r   r   r    r   _decoder
   _ffir   _typesr   _crypt32_cffir   r   _crypt32_ctypes__all__r   r   r9   r   r   <module>rB      sA    R R    $ 5F?113 ,C Cr   