
    :                     ,   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 d dl mZ d dlm	Z	 d d	lm
Z
 d d
lmZ  ed      Zd Z G d dej                        Z ej"                   ej$                  d e
j&                                ej$                  d e
j(                                     e_         G d dej,                        Z G d dej0                        Z ej4                  ddddddd      e_         G d dej                        Z ej"                   ej:                  d ej<                                ej:                  d ej>                                     e_         ej0                  d       Z  G d! d"ej0                        Z! ejD                  d e       e!_#         G d# d$ejH                        Z% e!       e%_         ejL                  d%e      e%_#         G d& d'ejN                        Z( ej"                   ej:                  d( e!              ej:                  d) e%                   e(_         G d* d+ej0                        Z) ej4                  d,d-d.d/d0d1d2d3d4d5d6d7d8d9      e)_         G d: d;ej                        Z* ej"                   ej:                  d< e              ej:                  d= ejH                   e(       >             ej$                  d? ejV                                ej$                  d@ ejN                   ej"                   ej:                  dA e)              ej:                  dB e              ej:                  dC ej                   ej"                   ej:                  dD ejX                                ej:                  dE e                   >                  >                  e*_         G dF dGej                        Z- ej"                   ej:                  dH e
j&                                ej$                  dI e
j\                                ej$                  dJ ej>                                ej$                  dK e
j^                                     e-_         ed%dLdMd%dNdNdO      Z0 ee0dO      Z1 ee1dP      Z2 ee1dQ      Z3 G dR dSej                        Z4 ej"                   ej:                  dT e
jj                                ej:                  dU e
jj                                ej:                  dV ej<                                     e4_         ee1dW      Z6 ee1dX      Z7 ee1dY      Z8 ee1dO      Z9 G dZ d[ej                        Z: ej"                   ej:                  d= ejH                   e(       >                  e:_         G d\ d]ej                        Z; ej"                   ej:                  d^ ej                   ej"                   ej:                  d_ ej0                                ej:                  d e
j&                                ej:                  d` ej                   ej"                   ej:                  da e
jj                                ej:                  db ejx                                     >             ej:                  dc ejz                   ej|                         >      j                   ej                  ej                  ej                  d       d                  >             ej:                  de e
jj                                ej:                  df ejx                                     e;_         G dg dhej                        ZC ej"                   ej:                  d( e!              ej:                  di e;                   eC_         G dj dkejN                        ZD ej"                   ej:                  dl eC       j                   ej                  ej                  ej                  d       d             ej:                  dm e	j                         j                   ej                  ej                  ej                  d%      d             ej:                  dn ej                   ej"                   ej:                  d( e!              ej:                  do ejX                                ej:                  dp ej,                                     >      j                   ej                  ej                  ej                  dq      d                  eD_         ee1dr      ZG ee1d%      ZH ee1ds      ZI ee1dN      ZJ ee1dt      ZK G du dvej                        ZL ej"                   ej:                  dw ej0                                ej:                  dx e
jj                                ej:                  dy ejH                   ej<                         >                  eL_         G dz d{ej                        ZM ej"                   ej:                  dH e
j&                                ej:                  d| ej0                                ej:                  d} e
j                                ej$                  d~ ej>                                ej$                  d ej<                                ej$                  d ejV                                     eM_         ee1dM      ZO ee1d      ZP G d dej                        ZQ ej"                   ej:                  d( e!              ej:                  d ej                                     eQ_         G d dej                        ZS ej"                   ej:                  d e
jj                                ej:                  d e
jj                                ej:                  dV ej<                                     eS_         G d dej                        ZT ej"                   ej:                  d e
jj                                ej:                  d ejH                   ej<                         >             ej:                  d e	j                                     eT_         ee
j                  d      ZW ee1d      ZX ee1d      ZY ed%dqddd%dtd      ZZ ee0d      Z[ ee[dq      Z\ ee
j                  d      Z] G d dej                        Z^ ej"                   ej:                  d< e              ej:                  d= ejH                   e!       >             ej$                  d? ejV                                ej$                  d@ ejN                   ej"                   ej:                  dA e)              ej:                  dB e                   >                  e^_         G d dej                        Z_ ej"                   ej:                  d( e!              ej:                  d e
jj                                ej:                  d ej<                                     e__         ee1d      Z` ee1d      Za G d dej                        Zb ej"                   ej:                  d( e!              ej:                  d ejX                                ej:                  d ejz                   e       >                  eb_         G d dej                        Zc ej"                   ej:                  d( e!              ej:                  d ejX                                ej:                  d ej,                                     ec_         G d dej                        Zd ej"                   ej:                  d ejH                   eb       >             ej:                  d ejH                   eD       >             ej:                  d ejH                   eQ       >             ej:                  d ejH                   ec       >                  ed_         G d dejH                        Ze e!       ee_         ejL                  d%e      ee_#         ee1d      Zf G d de!      Zg G d dej                        Zh ej"                   ej:                  d) e%              ej:                  d ejX                                ej:                  d ej,                                     eh_         G d dej                        Zj G d dej                        Zk ej"                   ej:                  d ejH                   eb       >             ej:                  d ejH                   eQ       >             ej:                  d ejH                   ec       >                  ek_         G d dek      Zl ee1d      Zm ee1d      Zn G d dej                        Zo ej"                   ej:                  d e%              ej:                  d ee              ej                  d ej                         j                  d%             ej:                  d e	j                                     eo_         ee1dë      Zs ee1dL      Zt G dĄ dejH                        Zu e
j                         eu_         ejL                  d%e      eu_#         ee
j                  d      Zw ee1dƫ      Zx ee1dǫ      Zy G dȄ dej                        Zz ej"                   ej:                  d e!              ej:                  d ejH                   e!       >                  ez_         ed%dqddd%dtddq      Z{ ee{dX      Z| ee1dͫ      Z} ee1d      Z~ ee1dΫ      Z ee1dϫ      Z ee1dЫ      Z G dф dej                        Z ej"                   ej:                  dH e
j\                                ej:                  d| ej0                                     e_         ee1dq      Z ee1dӫ      Z G dԄ dej                        Z ej"                   ej:                  d e!              ej:                  d ejH                   e!       >             ej:                  d ejH                   e
j                         >                  e_         G dׄ dej                        Z ej"                   ej:                  d eD              ej:                  d ej                                ej:                  d e
jj                                ej:                  d e
jj                                ej:                  dV ej<                                     e_         ee1d̫      Z ee[dL      Z ee1dܫ      Z G d݄ dej<                        Z ee
j                  d      Z ee0dMdq      Zy)    )char)
constraint)	namedtype)namedval)tag)univ)useful)rfc4211)rfc5280)rfc5652infc                      g }t        |       D ]Q  }t        |t        j                        r|j	                  t        |             8|j                  t        |             S t        j                  |      S )N)tuple
isinstancer   ObjectIdentifierextendlistappendint)
componentsoutputxs      )lib/third_party/pyasn1_modules/rfc6402.py	_buildOidr      sY    F:a../MM$q'"MM#a&!	    ((    c                       e Zd Zy)ChangeSubjectNameN__name__
__module____qualname__ r   r   r   r   (       r   r   subject
subjectAltc                       e Zd Zy)AttributeValueNr   r"   r   r   r'   r'   2   r#   r   r'   c                       e Zd Zy)	CMCStatusNr   r"   r   r   r)   r)   6   r#   r   r)   )successr   )failed   )pending   )	noSupport   )confirmRequired   )popRequired   )partial   c                       e Zd Zy)PendInfoNr   r"   r   r   r8   r8   E   r#   r   r8   	pendTokenpendTimel    c                       e Zd Zy)
BodyPartIDNr   r"   r   r   r<   r<   Q   r#   r   r<   c                       e Zd Zy)BodyPartPathNr   r"   r   r   r>   r>   X   r#   r   r>      c                       e Zd Zy)BodyPartReferenceNr   r"   r   r   rA   rA   `   r#   r   rA   
bodyPartIDbodyPartPathc                       e Zd Zy)CMCFailInfoNr   r"   r   r   rE   rE   j   r#   r   rE   )badAlgr   )badMessageCheckr?   )
badRequestr,   )badTimer.   )	badCertIdr0   )unsupportedExtr2   )mustArchiveKeysr4   )badIdentityr6   )r3      )	popFailed	   )
noKeyReuse
   )internalCAError   )tryLater   )authDataFail   c                       e Zd Zy)CMCStatusInfoV2Nr   r"   r   r   rZ   rZ      r#   r   rZ   	cMCStatusbodyList)componentTypestatusString	otherInfofailInfopendInfoextendedFailInfofailInfoOIDfailInfoValuec                       e Zd Zy)GetCRLNr   r"   r   r   rf   rf      r#   r   rf   
issuerNamecRLNametimereasonsr.   r4   r2   r6         c                       e Zd Zy)PopLinkWitnessV2Nr   r"   r   r   rn   rn      r#   r   rn   keyGenAlgorithmmacAlgorithmwitness!   "      c                       e Zd Zy)ControlsProcessedNr   r"   r   r   rv   rv      r#   r   rv   c                       e Zd Zy)CertificationRequestNr   r"   r   r   rx   rx      r#   r   rx   certificationRequestInfoversionsubjectPublicKeyInfo	algorithmsubjectPublicKey
attributes)implicitTagsignatureAlgorithm	signaturec                       e Zd Zy)TaggedCertificationRequestNr   r"   r   r   r   r      r#   r   r   certificationRequestc                       e Zd Zy)TaggedRequestNr   r"   r   r   r   r      r#   r   r   tcrcrmormrequestMessageTyperequestMessageValuer,         rP   c                       e Zd Zy)PublishTrustAnchorsNr   r"   r   r   r   r     r#   r   r   	seqNumberhashAlgorithmanchorHashesc                       e Zd Zy)RevokeRequestNr   r"   r   r   r   r     r#   r   r   serialNumberreasoninvalidityDate
passphrasecomment   c                       e Zd Zy)TaggedContentInfoNr   r"   r   r   r   r   ,  r#   r   r   contentInfoc                       e Zd Zy)IdentifyProofV2Nr   r"   r   r   r   r   6  r#   r   r   
proofAlgIDmacAlgIdc                       e Zd Zy)CMCPublicationInfoNr   r"   r   r   r   r   A  r#   r   r   hashAlg
certHashespubInfo   #   iH  i    rV      c                       e Zd Zy)CMCStatusInfoNr   r"   r   r   r   r   Z  r#   r   r   c                       e Zd Zy)DecryptedPOPNr   r"   r   r   r   r   m  r#   r   r   thePOPAlgIDthePOPrN      c                       e Zd Zy)TaggedAttributeNr   r"   r   r   r   r   |  r#   r   r   attrType
attrValuesc                       e Zd Zy)OtherMsgNr   r"   r   r   r   r     r#   r   r   otherMsgTypeotherMsgValuec                       e Zd Zy)PKIDataNr   r"   r   r   r   r     r#   r   r   controlSequencereqSequencecmsSequenceotherMsgSequencec                       e Zd Zy)BodyPartListNr   r"   r   r   r   r     r#   r   r   %   c                       e Zd Zy)AuthPublishNr   r"   r   r   r   r     r#   r   r   c                       e Zd Zy)CMCUnsignedDataNr   r"   r   r   r   r     r#   r   r   
identifiercontentc                       e Zd Zy)	CMCCertIdNr   r"   r   r   r   r     r#   r   r   c                       e Zd Zy)PKIResponseNr   r"   r   r   r   r     r#   r   r   c                       e Zd Zy)ResponseBodyNr   r"   r   r   r   r     r#   r   r      rT   c                       e Zd Zy)ModCertTemplateNr   r"   r   r   r   r     r#   r   r   pkiDataReferencecertReferencesreplace)valuecertTemplate   c                       e Zd Zy)ExtensionReqNr   r"   r   r   r   r     r#   r   r      r0   c                       e Zd Zy)LraPopWitnessNr   r"   r   r   r   r     r#   r   r   pkiDataBodyidbodyIds      rR      $   c                       e Zd Zy)GetCertNr   r"   r   r   r   r     r#   r   r      c                       e Zd Zy)AddExtensionsNr   r"   r   r   r   r     r#   r   r   
extensionsc                       e Zd Zy)EncryptedPOPNr   r"   r   r   r   r     r#   r   r   requestcmswitnessAlgID    c                       e Zd Zy)NoSignatureValueNr   r"   r   r   r   r   1  r#   r   r   N)pyasn1.typer   r   r   r   r   r   r	   pyasn1_modulesr
   r   r   floatMAXr   Sequencer   
NamedTypesOptionalNamedTypeNameGeneralNamesr]   Anyr'   Integerr)   NamedValuesnamedValuesr8   	NamedTypeOctetStringGeneralizedTime	bodyIdMaxr<   ValueRangeConstraintsubtypeSpec
SequenceOfr>   ValueSizeConstraintChoicerA   rE   rZ   
UTF8Stringr   rf   GeneralNameReasonFlagsid_pkixid_cmcid_cmc_batchResponsesid_cmc_popLinkWitnessrn   AlgorithmIdentifierid_cmc_popLinkWitnessV2id_cmc_identityProofV2id_cmc_revokeRequestid_cmc_recipientNoncerv   rx   	BitStringSetOf	AttributesubtypeTagtagClassContexttagFormatSimpler   r   tagFormatConstructed
CertReqMsgid_cmc_popLinkRandomid_cmc_statusInfoid_cmc_trustedAnchorsid_cmc_transactionIdid_cmc_encryptedPOPr   r   	CRLReasonid_cmc_senderNonceid_cmc_authDatar   ContentInfor   r   PKIPublicationInfoid_kpid_kp_cmcCAid_cmc_confirmCertAcceptanceid_cmc_raIdentityWitnessid_ExtensionReqid_cctid_cct_PKIDataid_kp_cmcRAr   r   id_cmc_addExtensionsid_cmc_modCertTemplater   r   r   r   id_cmc_responseBodyr   r   IssuerAndSerialNumberr   r   r   id_cmc_statusInfoV2id_cmc_lraPOPWitnessr   DefaultedNamedTypeBooleanCertTemplateid_cmc_regInfoid_cmc_identityProofr   	Extensionid_kp_cmcArchiveid_cmc_publishCertid_cmc_dataReturnr   id_aaid_aa_cmc_unsignedDataid_cmc_getCertid_cmc_batchRequestsid_cmc_decryptedPOPid_cmc_responseInfoid_cmc_changeSubjectNamer   id_cmc_identificationid_cmc_queryPendingr   r   id_cmc_getCRLid_cct_PKIResponseid_cmc_controlProcessedr   id_ad	id_ad_cmcid_alg_noSignaturer"   r   r   <module>rL     s    " !      " " "El)	 	 #7)"6"6I	<7<<>:I.Bg.B.B.DE#  	TXX 		 	 -,,	 	t}} 	 .--I%5T%5%5%78I
$:F$:$:$<= 
 DLL$		 	 988IF
 	4?? 	 (\ 9:99!SA 	 	 #7)"6"6Ijl3I7#  	$,, 	 /(.. $	dmm 	 !5	 4 4IY[1I
ODOOBSBU$VWI0ABI[T[[.)..#	##J>#	##J
;#	##&"6)"6"6+	++M;P4;P;P;RS+	++O^=MN#P)

	! ,	T]] 	 ,y++Ilglln5I	+>7+>+>+@AI(>(>(>(@AI	+>7+>+>+@A	  Aq!Q1a
(	7A	!&"- !&"- 	t}} 	 "6!5!5I)+F7+F+F+HII(C(C(C(EFI	#34#3#3#56"   $FB/ "62.  , !&!, 	 	 #7)"6"6I
ODOOBSBU$VW#  
	4== 	 &:Y%9%9I"MDMM.)..#	##I|t||~>#	##I|w||~>#	##*MDMM&:i&:&:/I//=XW=X=X=Z[/I//0BNDNNDTU'- $	## *$**&7g&7&7&9#;;B7$+CGGC,?,?ATATVW$X <C <Z%
* I,.Ig.I.I.KLI^T^^%56/&  "6	 	 ,@9+?+?Ijl3I.0D0FG,  (	DKK 	 3i22I9;CCCGGC//1I1I1M  D  O PI***,44I\I\^a^q^qstAu4vxI}t}};O9;O;O	L*,7	02G$2G2G2IJ	18488:><  
 !WSWWS5H5H#JbJbde-fgi  !, fa( !&"-  + * 	$-- 	 %9I$8$8I\T\\^4I)D)D)D)FGIFVdFVFVFX(YZ%  !	DMM 	 3i22Ilglln5I7I"3'"3"3"56I 02H&2H2H2JKI.>d.>.>.@AI	?4??+<=  vq) FB'	 	 #7)"6"6Ijl3I':w':':'<=#  	dmm 	 !5	 4 4I&Ag&A&A&CDI
$?G$?$?$ABI	#34#3#3#56! 	 	 $89#7#7I	#>7#>#>#@AIodooDTDDTDTDV&WXI	#=7#=#=#?@$    r*(4 $VR0 Aq#vq!R8	7B	61%r*	DMM 	 3i22IY[1I
ODOO*,$OPI0ABI[T[[.)..#	##J>#	##J
;
	 	4== 	 2Y11Ijl3I'Bw'B'B'DEI"2$"2"2"45  !+ "62. 	dmm 	 !5	 4 4Ijl3I
$9D$9$9$;<Ijdjj~?O&PQ! 	t}} 	 .--Ijl3I(=(=(=(?@I4 	dmm 	 -	,,I)?4??IZ+[\It]_'UVItEVEX'YZI*ODOO(*,UV	 	4?? 	 (\ 9:99!SA + 	* 		dmm 	 !5	 4 4I7I&;d&;&;&=>I	8488:.! 	-- 		$-- 	 1I00I)?4??IZ+[\ItEVEX'YZI*ODOO(*,UV 	; 	  +  , 	dmm 	 !5	 4 4I*LN;I(,.9 I  LDLLN,B,B,B,KLI(<(<(<(>?	!  62& + 	4?? 	 /W..0 9:99!SA W]]B/ vr* fa( 	DMM 	 3i22I6I	?4??#NO 
 	!QVQ2q1"5"- 62& , + + $VR0 	dmm 	 -	,,I&9g&9&9&;<I7 
 "&!, + 	DMM 	 3i22I*JL9I(/$//
*UVIodooDUGDUDUDW&XY 	4== 	 2Y11I	=?3I2w2245I'Bw'B'B'DEI(C(C(C(EFI	#34#3#3#56  &"%vq) #FB/ 	t'' 	 gmmR(	w1- r   