
     h                        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jE        dM<   e;ejE        dN<   e;ejE        dN<   dMejF        dO<   dNejF        dP<   dQe
jF        dR<   e@e	jE        dQ<   dSe
jF        dT<   eDe	jE        dS<   dUS )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dS )	Versionv0v1v2v3v4v5r   r               N__name__
__module____qualname___map     J/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/asn1crypto/tsp.pyr!   r!   8   s,         DDDr3   r!   c                       e Zd ZdefdefgZdS )MessageImprinthash_algorithmhashed_messageN)r.   r/   r0   r   r   _fieldsr2   r3   r4   r6   r6   C   s%        	?+	;'GGGr3   r6   c                   :    e Zd ZdeddifdedddfdedddfgZd	S )
AccuracysecondsoptionalTmillisr   implicitr=   microsr   N)r.   r/   r0   r   r9   r2   r3   r4   r;   r;   J   sH        	Gj$/0	7==>	7==>GGGr3   r;   c                   *    e Zd ZdefdeddifdefgZdS )	Extensionextn_idcriticaldefaultF
extn_valueN)r.   r/   r0   r   r   r   r9   r2   r3   r4   rC   rC   R   s5        	$%	Wy%01	{#GGGr3   rC   c                       e Zd ZeZdS )
ExtensionsN)r.   r/   r0   rC   _child_specr2   r3   r4   rI   rI   Z           KKKr3   rI   c                   p    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dS )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#DEGGGr3   rM   c            
       P    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	dS )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   se        	G	N+	'*d);<	'J-.	Wy%01	zt#D#DEGGGr3   rZ   c                        e Zd ZdddddddZdS )		PKIStatusgrantedgranted_with_mods	rejectionwaitingrevocation_warningrevocation_notificationr(   Nr-   r2   r3   r4   r^   r^   x   s,        $ DDDr3   r^   c                       e Zd ZeZdS )PKIFreeTextN)r.   r/   r0   r   rJ   r2   r3   r4   rf   rf      s        KKKr3   rf   c            	       $    e Zd Zddddddddd	Zd
S )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      s2         #$	 	DDDr3   rh   c                   0    e Zd ZdefdeddifdeddifgZdS )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GGGr3   rw   c                       e Zd ZdefdefgZdS )TimeStampResprx   time_stamp_tokenN)r.   r/   r0   rw   r   r9   r2   r3   r4   r|   r|      s%        	=!	[)GGGr3   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dS )MetaDatahash_protected	file_namer=   T
media_typeother_meta_dataN)r.   r/   r0   r   r   r   r   r9   r2   r3   r4   r   r      sJ        	7#	j:t"45	y:t"45	JT(:;	GGGr3   r   c                   $    e Zd ZdefdeddifgZdS )TimeStampAndCRL
time_stampcrlr=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r      s-        	./	*d!34GGGr3   r   c                       e Zd ZeZdS )TimeStampTokenEvidenceN)r.   r/   r0   r   rJ   r2   r3   r4   r   r              !KKKr3   r   c                       e Zd ZeZdS )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dS )EncryptionInfoencryption_info_typeencryption_info_valueNr.   r/   r0   r   r   r9   r2   r3   r4   r   r      s&        	!12	 #&GGGr3   r   c                       e Zd ZeZdS )PartialHashtreeN)r.   r/   r0   r   rJ   r2   r3   r4   r   r              KKKr3   r   c                       e Zd ZeZdS )PartialHashtreesN)r.   r/   r0   r   rJ   r2   r3   r4   r   r      r   r3   r   c                   B    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d
S )ArchiveTimeStampdigest_algorithmr   Tr?   
attributesr   reduced_hashtreer)   r   N)r.   r/   r0   r   r   r   r   r9   r2   r3   r4   r   r      sT        	_1$.O.OP	zt#D#DE	-A4/P/PQ	{#	GGGr3   r   c                       e Zd ZeZdS )ArchiveTimeStampSequenceN)r.   r/   r0   r   rJ   r2   r3   r4   r   r      s        "KKKr3   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d
S )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      sS        	G	./	!%F%FG	N,M,MN	&(@AGGGr3   r   c                       e Zd ZdefdefgZdS )OtherEvidenceoe_typeoe_valueNr   r2   r3   r4   r   r      s&        	$%	SGGGr3   r   c                   6    e Zd ZdeddifdeddifdeddifgZdS )	Evidencetst_evidencer@   r   ers_evidencer   other_evidencer)   N)r.   r/   r0   r   r   r   _alternativesr2   r3   r4   r   r      s@        	/*aA	*a9	=:q/:MMMr3   r   c                   B    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dS )	TimeStampedDatarN   data_urir=   T	meta_datacontenttemporal_evidenceN)	r.   r/   r0   r!   r   r   r   r   r9   r2   r3   r4   r   r      sR        	G	YT 23	hT 23	K*d!34	h'GGGr3   r   c                       e Zd ZdefdefgZdS )IssuerSerialissuerrQ   N)r.   r/   r0   r   r   r9   r2   r3   r4   r   r      s%        	< 	'"GGGr3   r   c                   $    e Zd ZdefdeddifgZdS )	ESSCertID	cert_hashissuer_serialr=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r     s,        	k"	,T(:;GGGr3   r   c                       e Zd ZeZdS )
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dS )SigningCertificatecertspoliciesr=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r     s-        	*	(:t*<=GGGr3   r   c                       e Zd ZeZdS )SetOfSigningCertificatesN)r.   r/   r0   r   rJ   r2   r3   r4   r   r     s        $KKKr3   r   c                   4    e Zd ZdedddiifdefdeddifgZd	S )
ESSCertIDv2r7   rF   	algorithmsha256r   r   r=   TN)r.   r/   r0   r   r   r   r9   r2   r3   r4   r   r     s@        	?Yh8O,PQ	k"	,T(:;GGGr3   r   c                       e Zd ZeZdS )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dS )SigningCertificateV2r   r   r=   TN)r.   r/   r0   r   r   r9   r2   r3   r4   r   r   #  s-        	,	(:t*<=GGGr3   r   c                       e Zd ZeZdS )SetOfSigningCertificatesV2N)r.   r/   r0   r   rJ   r2   r3   r4   r   r   *  s        &KKKr3   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      s    S R R R R R R R R R R 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 1 1 1r3   