ó
l]›]c           @` sO  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" d	 e f d
 „  ƒ  YZ# d e f d „  ƒ  YZ$ d e f d „  ƒ  YZ% d e f d „  ƒ  YZ& d e f d „  ƒ  YZ' d e f d „  ƒ  YZ( d e f d „  ƒ  YZ) d e f d „  ƒ  YZ* d e f d „  ƒ  YZ+ d e f d „  ƒ  YZ, d e f d „  ƒ  YZ- d e f d  „  ƒ  YZ. d! e f d" „  ƒ  YZ/ d# e f d$ „  ƒ  YZ0 d% e f d& „  ƒ  YZ1 d' e f d( „  ƒ  YZ2 d) e f d* „  ƒ  YZ3 d+ e f d, „  ƒ  YZ4 d- e f d. „  ƒ  YZ5 d/ e f d0 „  ƒ  YZ6 d1 e f d2 „  ƒ  YZ7 d3 e f d4 „  ƒ  YZ8 d5 e f d6 „  ƒ  YZ9 d7 e f d8 „  ƒ  YZ: d9 e f d: „  ƒ  YZ; d; e f d< „  ƒ  YZ< d= e f d> „  ƒ  YZ= d? e f d@ „  ƒ  YZ> dA e f dB „  ƒ  YZ? dC e f dD „  ƒ  YZ@ dE e f dF „  ƒ  YZA dG e f dH „  ƒ  YZB dI e f dJ „  ƒ  YZC dK e f dL „  ƒ  YZD e( e jE dM <e; e jE dN <e; e jE dN <dM e jF dO <dN e jF dP <dQ e
 jF dR <e@ e	 jE dQ <dS e
 jF dT <eD e	 jE dS <dU S(V   u   
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.
i    (   t   unicode_literalst   divisiont   absolute_importt   print_functioni   (   t   DigestAlgorithm(   t   CMSAttributet   CMSAttributeTypet   ContentInfot   ContentTypet   EncapsulatedContentInfo(   t   Anyt	   BitStringt   Booleant   Choicet   GeneralizedTimet	   IA5Stringt   Integert   ObjectIdentifiert   OctetStringt   Sequencet
   SequenceOft   SetOft
   UTF8String(   t   CertificateList(   t
   Attributest   CertificatePoliciest   GeneralNamet   GeneralNamest   Versionc           B` s8   e  Z i d  d 6d d 6d d 6d d 6d d	 6d
 d 6Z RS(   u   v0i    u   v1i   u   v2i   u   v3i   u   v4i   u   v5i   (   t   __name__t
   __module__t   _map(    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR   8   s   t   MessageImprintc           B` s    e  Z d  e f d e f g Z RS(   u   hash_algorithmu   hashed_message(   R   R   R   R   t   _fields(    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR    C   s   	t   Accuracyc           B` sU   e  Z d  e i e d 6f d e i d d 6e d 6f d e i d d 6e d 6f g Z RS(   u   secondsu   optionalu   millisi    u   implicitu   microsi   (   R   R   R   t   TrueR!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR"   J   s   t	   Extensionc           B` s3   e  Z d  e f d e i e d 6f d e f g Z RS(   u   extn_idu   criticalu   defaultu
   extn_value(   R   R   R   R   t   FalseR   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR$   R   s   	t
   Extensionsc           B` s   e  Z e Z RS(    (   R   R   R$   t   _child_spec(    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR&   Z   s   t   TSTInfoc           B` s¨   e  Z d  e f d e f d e f d e f d e f d e i e d 6f d e	 i e
 d 6f d	 e i e d 6f d
 e i d d 6e d 6f d e i d d 6e d 6f g
 Z RS(   u   versionu   policyu   message_imprintu   serial_numberu   gen_timeu   accuracyu   optionalu   orderingu   defaultu   nonceu   tsai    u   explicitu
   extensionsi   u   implicit(   R   R   R   R   R    R   R   R"   R#   R   R%   R   R&   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR(   ^   s   					t   TimeStampReqc        
   B` ss   e  Z d  e f d e f d e i e d 6f d e i e d 6f d e i e d 6f d e	 i d d	 6e d 6f g Z
 RS(
   u   versionu   message_imprintu
   req_policyu   optionalu   nonceu   cert_requ   defaultu
   extensionsi    u   implicit(   R   R   R   R    R   R#   R   R   R%   R&   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR)   m   s   		t	   PKIStatusc           B` s8   e  Z i d  d 6d d 6d d 6d d 6d d	 6d
 d 6Z RS(   u   grantedi    u   granted_with_modsi   u	   rejectioni   u   waitingi   u   revocation_warningi   u   revocation_notificationi   (   R   R   R   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR*   x   s   t   PKIFreeTextc           B` s   e  Z e Z RS(    (   R   R   R   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR+   ƒ   s   t   PKIFailureInfoc           B` sF   e  Z i d  d 6d d 6d d 6d d 6d d	 6d
 d 6d d 6d d 6Z RS(   u   bad_algi    u   bad_requesti   u   bad_data_formati   u   time_not_availablei   u   unaccepted_policyi   u   unaccepted_extensionsi   u   add_info_not_availablei   u   system_failurei   (   R   R   R   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR,   ‡   s   t   PKIStatusInfoc           B` s=   e  Z d  e f d e i e d 6f d e i e d 6f g Z RS(   u   statusu   status_stringu   optionalu	   fail_info(   R   R   R*   R+   R#   R,   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR-   ”   s   	t   TimeStampRespc           B` s    e  Z d  e f d e f g Z RS(   u   statusu   time_stamp_token(   R   R   R-   R   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR.   œ   s   	t   MetaDatac           B` sP   e  Z d  e f d e i e d 6f d e i e d 6f d e i e d 6f g Z RS(   u   hash_protectedu	   file_nameu   optionalu
   media_typeu   other_meta_data(   R   R   R   R   R#   R   R   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR/   £   s   	t   TimeStampAndCRLc           B` s*   e  Z d  e f d e i e d 6f g Z RS(   u
   time_stampu   crlu   optional(   R   R   R	   R   R#   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR0   ¬   s   	t   TimeStampTokenEvidencec           B` s   e  Z e Z RS(    (   R   R   R0   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR1   ³   s   t   DigestAlgorithmsc           B` s   e  Z e Z RS(    (   R   R   R   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR2   ·   s   t   EncryptionInfoc           B` s    e  Z d  e f d e f g Z RS(   u   encryption_info_typeu   encryption_info_value(   R   R   R   R
   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR3   »   s   	t   PartialHashtreec           B` s   e  Z e Z RS(    (   R   R   R   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR4   Â   s   t   PartialHashtreesc           B` s   e  Z e Z RS(    (   R   R   R4   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR5   Æ   s   t   ArchiveTimeStampc           B` se   e  Z d  e i d d 6e d 6f d e i d d 6e d 6f d e i d d 6e d 6f d e f g Z RS(	   u   digest_algorithmi    u   implicitu   optionalu
   attributesi   u   reduced_hashtreei   u
   time_stamp(   R   R   R   R#   R   R5   R   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR6   Ê   s   t   ArchiveTimeStampSequencec           B` s   e  Z e Z RS(    (   R   R   R6   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR7   Ó   s   t   EvidenceRecordc           B` s]   e  Z d  e f d e f d e i d d 6e d 6f d e i d d 6e d 6f d e f g Z RS(	   u   versionu   digest_algorithmsu   crypto_infosi    u   implicitu   optionalu   encryption_infoi   u   archive_time_stamp_sequence(	   R   R   R   R2   R   R#   R3   R7   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR8   ×   s
   		t   OtherEvidencec           B` s    e  Z d  e f d e f g Z RS(   u   oe_typeu   oe_value(   R   R   R   R
   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR9   á   s   	t   Evidencec           B` sG   e  Z d  e i d d 6f d e i d d 6f d e i d d 6f g Z RS(   u   tst_evidencei    u   implicitu   ers_evidencei   u   other_evidencei   (   R   R   R1   R8   R9   t   _alternatives(    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR:   è   s   t   TimeStampedDatac           B` sY   e  Z d  e f d e i e d 6f d e i e d 6f d e i e d 6f d e f g Z RS(   u   versionu   data_uriu   optionalu	   meta_datau   contentu   temporal_evidence(	   R   R   R   R   R#   R/   R   R:   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR<   ð   s
   	t   IssuerSerialc           B` s    e  Z d  e f d e f g Z RS(   u   issueru   serial_number(   R   R   R   R   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR=   ú   s   	t	   ESSCertIDc           B` s*   e  Z d  e f d e i e d 6f g Z RS(   u	   cert_hashu   issuer_serialu   optional(   R   R   R   R=   R#   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR>     s   	t
   ESSCertIDsc           B` s   e  Z e Z RS(    (   R   R   R>   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR?     s   t   SigningCertificatec           B` s*   e  Z d  e f d e i e d 6f g Z RS(   u   certsu   policiesu   optional(   R   R   R?   R   R#   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyR@     s   	t   SetOfSigningCertificatesc           B` s   e  Z e Z RS(    (   R   R   R@   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyRA     s   t   ESSCertIDv2c           B` sD   e  Z d  e i i d d 6d 6f d e f d e i e d 6f g Z RS(   u   hash_algorithmu   sha256u	   algorithmu   defaultu	   cert_hashu   issuer_serialu   optional(   R   R   R   R   R=   R#   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyRB     s   	t   ESSCertIDv2sc           B` s   e  Z e Z RS(    (   R   R   RB   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyRC     s   t   SigningCertificateV2c           B` s*   e  Z d  e f d e i e d 6f g Z RS(   u   certsu   policiesu   optional(   R   R   RC   R   R#   R!   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyRD   #  s   	t   SetOfSigningCertificatesV2c           B` s   e  Z e Z RS(    (   R   R   RD   R'   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyRE   *  s   u   tst_infou   timestamped_datau   1.2.840.113549.1.9.16.1.4u   1.2.840.113549.1.9.16.1.31u   signing_certificateu   1.2.840.113549.1.9.16.2.12u   signing_certificate_v2u   1.2.840.113549.1.9.16.2.47N(G   t   __doc__t
   __future__R    R   R   R   t   algosR   t   cmsR   R   R   R   R	   t   coreR
   R   R   R   R   R   R   R   R   R   R   R   R   t   crlR   t   x509R   R   R   R   R   R    R"   R$   R&   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   t
   _oid_specsR   (    (    (    s-   lib/python2.7/site-packages/asn1crypto/tsp.pyt   <module>   sb   "(X"		

