
     hZ                        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
mZ  e            dk    rddlmZmZ dd	lmZmZ nddlmZmZ dd	lmZmZ g d
ZddZd Z ej         ej                    e            G d d          ZdS )    )unicode_literalsdivisionabsolute_importprint_function   )ffi)null)TLSDisconnectErrorTLSGracefulDisconnectErrorcffi   )Securityversion_info)CoreFoundation	CFHelpers)handle_sec_errorosx_version_infor   SecurityConstNc                    | dk    rdS | t          t          j        t          j        g          v rt	          d          | t          j        k    rt          d          t          j        | t                                }t          j        |          }t          j        |           ||dk    rd| z  }|t          } ||          )a<  
    Checks a Security OSStatus error code and throws an exception if there is an
    error to report

    :param error:
        An OSStatus

    :param exception_class:
        The exception class to use for the exception if an error occurred

    :raises:
        OSError - when the OSStatus contains an error
    r   Nz$The remote end closed the connection zOSStatus %s)setr   errSSLClosedNoNotifyerrSSLClosedAbortr
   errSSLClosedGracefulr   r   SecCopyErrorMessageStringr	   r   cf_string_to_unicoder   	CFReleaseOSError)errorexception_classcf_error_stringoutputs       S/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/oscrypto/_mac/_security.pyr   r      s     zz]79XYZZZZ !GHHH222()OPPP8GGO+O<<F_---~2&!
/&
!
!!    c                 R    t          j        |           }t          j        |          S N)r   SecPolicyCopyPropertiesr   cf_dictionary_to_dict)valueproperties_dicts     r#   _extract_policy_propertiesr+   <   s#    6u==O*?;;;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Z1dZ2dZ3d#Z4d$Z5d%Z6d&Z7dZ8dZ9dZ:dZ;dZ<d'Z=d(Z>d)Z?dZ@d*ZAd+S ),r   r   r   r      @         iiiiiiiiiiiiiiiiiiii $i
!i!i!i*!i!s	   *Hcds	   *Hcdi iQi,iR*   +   I       N)B__name__
__module____qualname__kSecTrustSettingsDomainUserkSecTrustSettingsDomainAdminkSecTrustSettingsDomainSystemkSecTrustResultProceedkSecTrustResultUnspecifiedkSecTrustOptionImplicitAnchorskSecFormatOpenSSLkSecItemTypePrivateKeykSecItemTypePublicKey"kSSLSessionOptionBreakOnServerAuthkSSLProtocol2kSSLProtocol3kTLSProtocol1kTLSProtocol11kTLSProtocol12kSSLClientSidekSSLStreamTypeerrSSLProtocolerrSSLWouldBlockr   r   r   errSSLXCertChainInvaliderrSSLCryptoerrSSLInternalerrSSLCertExpirederrSSLCertNotYetValiderrSSLUnknownRootCerterrSSLNoRootCerterrSSLHostNameMismatcherrSSLPeerHandshakeFailerrSSLPeerProtocolVersionerrSSLPeerUserCancellederrSSLWeakPeerEphemeralDHKeyerrSSLServerAuthCompletederrSSLRecordOverflow!CSSMERR_APPLETP_HOSTNAME_MISMATCHCSSMERR_TP_CERT_EXPIREDCSSMERR_TP_CERT_NOT_VALID_YETCSSMERR_TP_CERT_REVOKEDCSSMERR_TP_NOT_TRUSTEDCSSMERR_TP_CERT_SUSPENDEDCSSM_CERT_X_509v3APPLE_TP_REVOCATION_CRLAPPLE_TP_REVOCATION_OCSPCSSM_APPLE_TP_OCSP_OPTS_VERSIONCSSM_TP_ACTION_OCSP_DISABLE_NET&CSSM_TP_ACTION_OCSP_CACHE_READ_DISABLECSSM_APPLE_TP_CRL_OPTS_VERSIONerrSecVerifyFailederrSecNoTrustSettingserrSecItemNotFounderrSecInvalidTrustSettingskSecPaddingNonekSecPaddingPKCS1CSSM_KEYUSE_SIGNCSSM_KEYUSE_VERIFYCSSM_ALGID_DHCSSM_ALGID_RSACSSM_ALGID_DSACSSM_ALGID_ECDSACSSM_KEYATTR_PERMANENTCSSM_KEYATTR_EXTRACTABLE r$   r#   r   r   G   s|       "##$ $%!!"%/")*&MMMNNNNN  #LN!!"# %##(  % (3%)$/!)( +"9:&'#&0#-7*%&""!'O!#MNN')r$   r   r&   )
__future__r   r   r   r   r   r   _ffir	   errorsr
   r   _security_cffir   r   r   _core_foundation_cffir   r   _security_ctypes_core_foundation_ctypes__all__r   r+   register_native_mappingSecPolicyGetTypeIDr   rt   r$   r#   <module>r      sr   R R R R R R R R R R R R             C C C C C C C C355F??JJJJJJJJ@@@@@@@@@LLLLLLLLBBBBBBBB  !" !" !" !"H< < <
 "	 !H!!  P* P* P* P* P* P* P* P* P* P*r$   