
    BwgZ                        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j0                   ej2                         e        G d d      Zy)    )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y| 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       N/var/www/horilla/myenv/lib/python3.12/site-packages/oscrypto/_mac/_security.pyr   r      s     z]779X9XYZZ !GHH222()OPP88GO++O<F_-~2&!
&
!!    c                 V    t        j                  |       }t        j                  |      S N)r   SecPolicyCopyPropertiesr   cf_dictionary_to_dict)valueproperties_dicts     r#   _extract_policy_propertiesr+   <   s#    6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*ZAy+),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   sn   "##$ $%!!"%/")*&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      sm    R R   C5F?J@@LB!"H<
 "	 ! !H!P* P*r$   