§
    ¥”j–  ã                   óò  — d dl Z d dlZd dl mZmZ d dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZmZ d dlmZ d dlm Z  d dl!m"Z" d dl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0 g d¢Z1 G d„ dej2        ¦  «        Z3 ed¬¦  «         G d„ d¦  «        ¦   «         Z4 ed¬¦  «         G d„ d¦  «        ¦   «         Z5 ed¬¦  «         G d„ d¦  «        ¦   «         Z6 ed¬¦  «         G d„ d ¦  «        ¦   «         Z7 ed¬¦  «         G d!„ d"¦  «        ¦   «         Z8d#e9d$e3d%e d&e	e          fd'„Z:	 	 	 d-d(e7d)e	e+         d*e	e9         d+e	e%         d&ef
d,„ZdS ).é    N)Ú	dataclassÚfield)Údatetime)Ú	FrozenSetÚ	GeneratorÚListÚOptionalÚUnion)Úx509)ÚDEFAULT_DIFF_POLICYÚ
DiffPolicy)ÚKeyUsageConstraints)ÚQcPrivateKeyManagementType)Ú
QcCertType)ÚCMSAlgorithmUsagePolicy)ÚTrustedServiceType)ÚCertValidationPolicySpecÚValidationDataHandlers)Ú"bootstrap_validation_data_handlers)ÚFetcherBackend)ÚRequestsFetcherBackend)ÚKnownPOEÚ
POEManagerÚPOETypeÚValidationObjectÚValidationObjectTypeÚdigest_for_poe)ÚValidationTimingInfo)ÚNonRevokedStatusAssertion)ÚCRLContainerÚOCSPContainer)r   ÚLocalKnowledgeÚPdfSignatureValidationSpecÚQualificationRequirementsÚRevinfoOnlineFetchingRuleÚRevocationInfoGatheringSpecÚSignatureValidationSpecr   c                   ól   — e Zd Z ej        ¦   «         Z	  ej        ¦   «         Z	  ej        ¦   «         ZdS )r%   N)Ú__name__Ú
__module__Ú__qualname__ÚenumÚautoÚALWAYS_FETCHÚNO_HISTORICAL_FETCHÚ
LOCAL_ONLY© ó    úr/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pyhanko/sign/validation/policy_decl.pyr%   r%   3   sJ   € € € € € Ø�4”9‘;”;€Lðð $˜$œ)™+œ+Ððð �”‘”€Jðð r2   r%   T)Úfrozenc                   óJ   — e Zd ZU ej        Zeed<    ee¬¦  «        Z	e
ed<   dS )r&   Úonline_fetching_rule©Údefault_factoryÚfetcher_backendN)r)   r*   r+   r%   r/   r6   Ú__annotations__r   r   r9   r   r1   r2   r3   r&   r&   G   sa   € € € € € € ð 	"Ô5ð Ð3ð ð ñ ð ', eØ.ð'ñ 'ô '€O�^ð ð ñ ð ð r2   r&   c                   ó.  — e Zd ZU  ee¬¦  «        Zee         ed<    ee¬¦  «        Z	ee
         ed<    ee¬¦  «        Zeej                 ed<    ee¬¦  «        Zee         ed<    ee¬¦  «        Zee         ed<   defd„Zd	ed
eeddf         fd„ZdS )r"   r7   Úknown_ocspsÚ
known_crlsÚknown_certsÚ
known_poesÚnonrevoked_assertionsÚpoe_managerc                 óD   — | j         D ]}|                     |¦  «         Œd S ©N)r?   Úregister_known_poe)ÚselfrA   Úpoes      r3   Úadd_to_poe_managerz!LocalKnowledge.add_to_poe_manager[   s4   € Ø”?ð 	0ð 	0ˆCØ×*Ò*¨3Ñ/Ô/Ð/Ð/ð	0ð 	0r2   ÚdtÚreturnNc           
   #   óÞ  K  — | j         D ]8}t          j        |t          |j        |¦  «        t
          j        ¬¦  «        V — Œ9| j        D ]]}t          t          |j
                             ¦   «         ¦  «        |t
          j        t          t          j        |¦  «        ¬¦  «        V — Œ^| j        D ]]}t          t          |j                             ¦   «         ¦  «        |t
          j        t          t          j        |¦  «        ¬¦  «        V — Œ^| j        D ]X}t          t          |                     ¦   «         ¦  «        |t
          j        t          t          j        |¦  «        ¬¦  «        V — ŒYd S )N)Úpoe_timeÚpoe_type)ÚdigestrK   rL   Úvalidation_object)r?   ÚdataclassesÚreplaceÚminrK   r   ÚPROVIDEDr=   r   r   Úcrl_dataÚdumpr   r   ÚCRLr<   Úocsp_response_dataÚOCSP_RESPONSEr>   ÚCERTIFICATE)rE   rH   rF   ÚcrlÚocspÚcerts         r3   Úassert_existence_known_atz(LocalKnowledge.assert_existence_known_at_   s±  è è € ð ”?ð 	ð 	ˆCÝÔ%ØÝ˜Sœ\¨2Ñ.Ô.Ý Ô)ðñ ô ð ð ð ð ð
 ”?ð 	ð 	ˆCÝÝ% c¤l×&7Ò&7Ñ&9Ô&9Ñ:Ô:ØÝ Ô)Ý"2Ý(Ô,¨cñ#ô #ð	ñ ô ð ð ð ð ð Ô$ð 	ð 	ˆDÝÝ% dÔ&=×&BÒ&BÑ&DÔ&DÑEÔEØÝ Ô)Ý"2Ý(Ô6¸ñ#ô #ð	ñ ô ð ð ð ð ð Ô$ð 	ð 	ˆDÝÝ% d§i¢i¡k¤kÑ2Ô2ØÝ Ô)Ý"2Ý(Ô4°dñ#ô #ð	ñ ô ð ð ð ð ð	ð 	r2   )r)   r*   r+   r   Úlistr<   r   r!   r:   r=   r    r>   r   ÚCertificater?   r   r@   r   r   rG   r   r   r\   r1   r2   r3   r"   r"   Q   s  € € € € € € à', u¸TÐ'BÑ'BÔ'B€K��mÔ$ÐBÐBÑBØ%* U¸4Ð%@Ñ%@Ô%@€J��\Ô"Ð@Ð@Ñ@Ø*/¨%ÀÐ*EÑ*EÔ*E€K��dÔ&Ô'ÐEÐEÑEØ!& °tÐ!<Ñ!<Ô!<€J��X”Ð<Ð<Ñ<Ø=B¸UØð>ñ >ô >Ð˜4Ð 9Ô:ð ð ñ ð0¨jð 0ð 0ð 0ð 0ð#Øð#à	�8˜T 4Ð'Ô	(ð#ð #ð #ð #ð #ð #r2   r"   c                   ó®   — e Zd ZU dZdZeee                  ed<   	  e	e
j        e
j        g¦  «        Zeee
                  ed<   	 dZeeedf         ed<   dS )r$   z‚
    Impose qualification requirements on the validation process.

    .. note::
        This requires a ``TSPTrustManager``.
    NÚpermit_key_mgmt_typesÚpermit_cert_typesÚrequire_service_type)r)   r*   r+   Ú__doc__r`   r	   r   r   r:   Ú	frozensetr   ÚQC_ESIGNÚQC_ESEALra   rb   r
   r   Ústrr1   r2   r3   r$   r$   …   s°   € € € € € € ðð ð 	ð ˜8 IÐ.HÔ$IÔJð ð ñ ðð :C¸Ø	Ô	˜jÔ1Ð2ñ:ô :Ð�x 	¨*Ô 5Ô6ð ð ñ ðð BFÐ˜%Ð 2°C¸Ð =Ô>ÐEÐEÑEð
ð 
r2   r$   c                   óö   — e Zd ZU eed<    e¦   «         Zeed<   dZee         ed<   dZ	ee         ed<    e
¦   «         Ze
ed<    e¦   «         Zeed<   dZee         ed<   dZee         ed	<   dZee         ed
<   dS )r'   Úcert_validation_policyÚrevinfo_gathering_policyNÚts_cert_validation_policyÚac_validation_policyÚlocal_knowledgeÚkey_usage_settingsÚsignature_algorithm_policyÚqualification_requirementsÚts_qualification_requirements)r)   r*   r+   r   r:   r&   rj   rk   r	   rl   r"   rm   r   rn   ro   r   rp   r$   rq   r1   r2   r3   r'   r'   ¯   së   € € € € € € à4Ð4Ð4Ñ4à#Ð#Ñ%Ô%ð Ð9ð ð ñ ð EIÐ˜xÐ(@ÔAÐHÐHÑHØ?CÐ˜(Ð#;Ô<ÐCÐCÑCØ&4 nÑ&6Ô&6€O�^Ð6Ð6Ñ6Ø.AÐ.AÑ.CÔ.CÐÐ+ÐCÐCÑCØDHÐ Ð)@Ô AÐHÐHÑHØFJÐ Ð)BÔ CÐJÐJÑJØIMÐ! 8Ð,EÔ#FÐMÐMÑMÐMÐMr2   r'   c                   ó4   — e Zd ZU eed<   eZee         ed<   dS )r#   Úsignature_validation_specÚdiff_policyN)	r)   r*   r+   r'   r:   r   rt   r	   r   r1   r2   r3   r#   r#   ¾   s3   € € € € € € à6Ð6Ð6Ñ6Ø(;€K�˜*Ô%Ð;Ð;Ñ;Ð;Ð;r2   r#   ÚhistÚruleÚbackendrI   c                 óR   — |t           j        k    rd S |t           j        k    r| rd S |S rC   )r%   r0   r/   ©ru   rv   rw   s      r3   Ú_backend_if_necessaryrz   Ä   s6   € ð Õ(Ô3Ò3Ð3ØˆtØ	Õ*Ô>Ò	>Ð	>À4Ð	>Øˆtàˆr2   ÚspecÚtiming_infoÚis_historicalÚpoe_manager_overridec                 óÌ   — |€|�|j         nd}n|}| j        }t          ||j        |j        ¬¦  «        }| j        }t          ||j        |j        |j	        ||j
        ¬¦  «        }|S )NFry   )ÚfetchersÚcrlsÚocspsÚcertsrA   r@   )Úpoint_in_time_validationrj   rz   r6   r9   rm   Ú!_certvalidator_bootstrap_handlersr=   r<   r>   r@   )	r{   r|   r}   r~   ru   Úrevinfo_policyr9   Ú	knowledgeÚhandlerss	            r3   r   r   Ï   sœ   € ð Ðð Ð&ð Ô0Ð0àð 	ˆð ˆØÔ2€Nå+ØØÔ0ØÔ.ðñ ô €Oð Ô$€IÝ0Ø ØÔ!ØÔ#ØÔ#Ø(Ø'Ô=ðñ ô €Hð €Or2   )NNN);rO   r,   r   r   r   Útypingr   r   r   r	   r
   Ú
asn1cryptor   Úpyhanko.sign.diff_analysisr   r   Úpyhanko.sign.validationr   Ú*pyhanko.sign.validation.qualified.q_statusr   Ú%pyhanko.sign.validation.qualified.tspr   Úpyhanko.sign.validation.utilsr   Úpyhanko_certvalidator.authorityr   Úpyhanko_certvalidator.contextr   r   r   r…   Úpyhanko_certvalidator.fetchersr   Ú0pyhanko_certvalidator.fetchers.requests_fetchersr   Úpyhanko_certvalidator.ltv.poer   r   r   r   r   r   Úpyhanko_certvalidator.ltv.typesr   Ú!pyhanko_certvalidator.policy_declr   Ú&pyhanko_certvalidator.revinfo.archivalr    r!   Ú__all__ÚEnumr%   r&   r"   r$   r'   r#   Úboolrz   r1   r2   r3   ú<module>r›      s<  ðØ Ð Ð Ð Ø €€€Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð =Ð <Ð <Ð <Ð <Ð <Ø AÐ AÐ AÐ AÐ AÐ AØ >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ðð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð AÐ @Ð @Ð @Ð @Ð @Ø GÐ GÐ GÐ GÐ GÐ GØ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nð	ð 	ð 	€ðð ð ð ð  ¤	ñ ô ð ð( €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð €�$ÐÑÔð0ð 0ð 0ð 0ð 0ñ 0ô 0ñ Ôð0ðf €�$ÐÑÔð&ð &ð &ð &ð &ñ &ô &ñ Ôð&ðR €�$ÐÑÔðNð Nð Nð Nð Nñ Nô Nñ ÔðNð €�$ÐÑÔð<ð <ð <ð <ð <ñ <ô <ñ Ôð<ð
Ø
ðØ/ðØ:HðàˆnÔðð ð ð ð 37Ø$(Ø15ð	ð Ø
!ðàÐ.Ô/ðð ˜D”>ðð # :Ô.ð	ð
 ðð ð ð ð ð r2   