
    >wg                        d Z ddlmZmZ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mZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZm Z m!Z!m"Z"  G d	 d
e      Z# G d de      Z$ G d de      Z% G d de      Z& G d de      Z' G d de      Z( G d de      Z) G d de      Z* G d de      Z+ G d de      Z, G d de      Z- G d d e      Z. G d! d"e      Z/ G d# d$e      Z0 G d% d&e      Z1 G d' d(e      Z2 G d) d*e      Z3 G d+ d,e      Z4 G d- d.e      Z5 G d/ d0e      Z6 G d1 d2e      Z7 G d3 d4e      Z8 G d5 d6e      Z9 G d7 d8e      Z: G d9 d:e      Z; G d; d<e      Z< G d= d>e      Z= G d? d@e      Z> G dA dBe      Z? G dC dDe      Z@ G dE dFe      ZA G dG dHe      ZB G dI dJe      ZC G dK dLe      ZDe(ej                  dM<   e;ej                  dN<   e;ej                  dN<   dMej                  dO<   dNej                  dP<   dQe
j                  dR<   e@e	j                  dQ<   dSe
j                  dT<   eDe	j                  dS<   yU)Va  
ASN.1 type classes for the time stamp protocol (TSP). Exports the following
items:

 - TimeStampReq()
 - TimeStampResp()

Also adds TimeStampedData() support to asn1crypto.cms.ContentInfo(),
TimeStampedData() and TSTInfo() support to
asn1crypto.cms.EncapsulatedContentInfo() and some oids and value parsers to
asn1crypto.cms.CMSAttribute().

Other type classes are defined that help compose the types listed above.
    )unicode_literalsdivisionabsolute_importprint_function   )DigestAlgorithm)CMSAttributeCMSAttributeTypeContentInfoContentTypeEncapsulatedContentInfo)Any	BitStringBooleanChoiceGeneralizedTime	IA5StringIntegerObjectIdentifierOctetStringSequence
SequenceOfSetOf
UTF8String)CertificateList)
AttributesCertificatePoliciesGeneralNameGeneralNamesc                       e Zd ZdddddddZy)	Versionv0v1v2v3v4v5r   r               N__name__
__module____qualname___map     E/var/www/horilla/myenv/lib/python3.12/site-packages/asn1crypto/tsp.pyr!   r!   8   s    Dr3   r!   c                       e Zd ZdefdefgZy)MessageImprinthash_algorithmhashed_messageN)r.   r/   r0   r   r   _fieldsr2   r3   r4   r6   r6   C   s    	?+	;'Gr3   r6   c                   8    e Zd ZdeddifdedddfdedddfgZy	)
AccuracysecondsoptionalTmillisr   implicitr=   microsr   N)r.   r/   r0   r   r9   r2   r3   r4   r;   r;   J   s6    	Gj$/0	7=>	7=>Gr3   r;   c                   (    e Zd ZdefdeddifdefgZy)	Extensionextn_idcriticaldefaultF
extn_valueN)r.   r/   r0   r   r   r   r9   r2   r3   r4   rC   rC   R   s)    	$%	Wy%01	{#Gr3   rC   c                       e Zd ZeZy)
ExtensionsN)r.   r/   r0   rC   _child_specr2   r3   r4   rI   rI   Z       Kr3   rI   c                   n    e Zd Zdefdefdefdefdefdeddifd	e	d
difdeddifde
dddfdedddfg
Zy)TSTInfoversionpolicymessage_imprintserial_numbergen_timeaccuracyr=   TorderingrF   Fnoncetsar   )explicitr=   
extensionsr   r?   N)r.   r/   r0   r!   r   r6   r   r   r;   r   r   rI   r9   r2   r3   r4   rM   rM   ^   s}    	G	#$	N+	'"	_%	X
D12	Wy%01	'J-.	!>?	zt#DEGr3   rM   c            
       N    e Zd Zdefdefdeddifdeddifdedd	ifd
edddfgZ	y)TimeStampReqrN   rP   
req_policyr=   TrU   cert_reqrF   FrX   r   r?   N)
r.   r/   r0   r!   r6   r   r   r   rI   r9   r2   r3   r4   rZ   rZ   m   sV    	G	N+	'*d);<	'J-.	Wy%01	zt#DEGr3   rZ   c                       e Zd ZdddddddZy)		PKIStatusgrantedgranted_with_mods	rejectionwaitingrevocation_warningrevocation_notificationr(   Nr-   r2   r3   r4   r^   r^   x   s    $Dr3   r^   c                       e Zd ZeZy)PKIFreeTextN)r.   r/   r0   r   rJ   r2   r3   r4   rf   rf      s    Kr3   rf   c            	       "    e Zd Zddddddddd	Zy
)PKIFailureInfobad_algbad_requestbad_data_formattime_not_availableunaccepted_policyunaccepted_extensionsadd_info_not_availablesystem_failure)r   r)   r,                  Nr-   r2   r3   r4   rh   rh      s!     #$	Dr3   rh   c                   .    e Zd ZdefdeddifdeddifgZy)PKIStatusInfostatusstatus_stringr=   T	fail_infoN)r.   r/   r0   r^   rf   rh   r9   r2   r3   r4   rw   rw      s/    	9	+
D'9:	nz4&89Gr3   rw   c                       e Zd ZdefdefgZy)TimeStampResprx   time_stamp_tokenN)r.   r/   r0   rw   r   r9   r2   r3   r4   r|   r|      s    	=!	[)Gr3   r|   c                   :    e Zd ZdefdeddifdeddifdeddifgZy)MetaDatahash_protected	file_namer=   T
media_typeother_meta_dataN)r.   r/   r0   r   r   r   r   r9   r2   r3   r4   r   r      s>    	7#	j:t"45	y:t"45	JT(:;	Gr3   r   c                   "    e Zd ZdefdeddifgZy)TimeStampAndCRL
time_stampcrlr=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r      s!    	./	*d!34Gr3   r   c                       e Zd ZeZy)TimeStampTokenEvidenceN)r.   r/   r0   r   rJ   r2   r3   r4   r   r          !Kr3   r   c                       e Zd ZeZy)DigestAlgorithmsN)r.   r/   r0   r   rJ   r2   r3   r4   r   r      r   r3   r   c                       e Zd ZdefdefgZy)EncryptionInfoencryption_info_typeencryption_info_valueNr.   r/   r0   r   r   r9   r2   r3   r4   r   r      s    	!12	 #&Gr3   r   c                       e Zd ZeZy)PartialHashtreeN)r.   r/   r0   r   rJ   r2   r3   r4   r   r          Kr3   r   c                       e Zd ZeZy)PartialHashtreesN)r.   r/   r0   r   rJ   r2   r3   r4   r   r      r   r3   r   c                   @    e Zd Zdedddfdedddfdedddfd	efgZy
)ArchiveTimeStampdigest_algorithmr   Tr?   
attributesr   reduced_hashtreer)   r   N)r.   r/   r0   r   r   r   r   r9   r2   r3   r4   r   r      s?    	_1$.OP	zt#DE	-A4/PQ	{#	Gr3   r   c                       e Zd ZeZy)ArchiveTimeStampSequenceN)r.   r/   r0   r   rJ   r2   r3   r4   r   r      s    "Kr3   r   c                   >    e Zd Zdefdefdedddfdedddfd	efgZy
)EvidenceRecordrN   digest_algorithmscrypto_infosr   Tr?   encryption_infor   archive_time_stamp_sequenceN)	r.   r/   r0   r!   r   r   r   r   r9   r2   r3   r4   r   r      sA    	G	./	!%FG	N,MN	&(@AGr3   r   c                       e Zd ZdefdefgZy)OtherEvidenceoe_typeoe_valueNr   r2   r3   r4   r   r      s    	$%	SGr3   r   c                   4    e Zd ZdeddifdeddifdeddifgZy)	Evidencetst_evidencer@   r   ers_evidencer   other_evidencer)   N)r.   r/   r0   r   r   r   _alternativesr2   r3   r4   r   r      s4    	/*aA	*a9	=:q/:Mr3   r   c                   @    e Zd ZdefdeddifdeddifdeddifdefgZy)	TimeStampedDatarN   data_urir=   T	meta_datacontenttemporal_evidenceN)	r.   r/   r0   r!   r   r   r   r   r9   r2   r3   r4   r   r      sF    	G	YT 23	hT 23	K*d!34	h'Gr3   r   c                       e Zd ZdefdefgZy)IssuerSerialissuerrQ   N)r.   r/   r0   r   r   r9   r2   r3   r4   r   r      s    	< 	'"Gr3   r   c                   "    e Zd ZdefdeddifgZy)	ESSCertID	cert_hashissuer_serialr=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r     s     	k"	,T(:;Gr3   r   c                       e Zd ZeZy)
ESSCertIDsN)r.   r/   r0   r   rJ   r2   r3   r4   r   r     rK   r3   r   c                   "    e Zd ZdefdeddifgZy)SigningCertificatecertspoliciesr=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r     s!    	*	(:t*<=Gr3   r   c                       e Zd ZeZy)SetOfSigningCertificatesN)r.   r/   r0   r   rJ   r2   r3   r4   r   r     s    $Kr3   r   c                   2    e Zd ZdedddiifdefdeddifgZy	)
ESSCertIDv2r7   rF   	algorithmsha256r   r   r=   TN)r.   r/   r0   r   r   r   r9   r2   r3   r4   r   r     s4    	?Yh8O,PQ	k"	,T(:;Gr3   r   c                       e Zd ZeZy)ESSCertIDv2sN)r.   r/   r0   r   rJ   r2   r3   r4   r   r     r   r3   r   c                   "    e Zd ZdefdeddifgZy)SigningCertificateV2r   r   r=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r   #  s!    	,	(:t*<=Gr3   r   c                       e Zd ZeZy)SetOfSigningCertificatesV2N)r.   r/   r0   r   rJ   r2   r3   r4   r   r   *  s    &Kr3   r   tst_infotimestamped_dataz1.2.840.113549.1.9.16.1.4z1.2.840.113549.1.9.16.1.31signing_certificatez1.2.840.113549.1.9.16.2.12signing_certificate_v2z1.2.840.113549.1.9.16.2.47N)G__doc__
__future__r   r   r   r   algosr   cmsr	   r
   r   r   r   corer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   x509r   r   r   r   r!   r6   r;   rC   rI   rM   rZ   r^   rf   rh   rw   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
_oid_specsr1   r2   r3   r4   <module>r      sy   S R "     ! g X x   h 8  * 
Y 
H H x h "Z ""z "X j "z "x #z #X H v h 8    %u %( : 8 ' ' 29  " ": .9H  " "#5 6-<  ) *0:  , -1C  - .6K   2 31I  - .6N   2 34N  0 1r3   