o
    $ZN                     @   s  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
d ZG dd dejZG dd dejZeede edeje de_G dd dejZe e_edee_G dd dejZeede ede e_G dd dejZeede ede jeejej dde_G dd  d ejZ!e e!_G d!d" d"ejZ"eed#e e#d$e e"_edd%d&d'dd(d%Z$G d)d* d*ej%Z&G d+d, d,ej'Z(G d-d. d.ej)Z*e+d/d0d1d2d3d4e*_,G d5d6 d6ejZ-eed7e' e#d8e. e#de" e-_G d9d: d:ejZ/eed;e* ed<e- ed=e& ed>e( e/_G d?d@ d@ej%Z0G dAdB dBejZ1eed;e* e#dCe0 jeejej2d ded=e& ed>e( e1_G dDdE dEejZ3eedFe edGe e3_G dHdI dIejZ4eedJe5 edKe6 e4_G dLdM dMej'Z7G dNdO dOejZ8eedPe7 e#d8e. e#de" e8_G dQdR dRejZ9eedSe4 edTe8 jeejej d de9_G dUdV dVejZ:eedWe9 ed>e( e:_G dXdY dYej;Z<e: e<_G dZd[ d[ej'Z=G d\d] d]ejZ>eed^e% ed_e? e>_G d`da daejZ@eedSe4 edPe7 jeejej2d dedbe> jeejej dde@_G dcdd ddejZAeed;e* edee@ jeejej d dfe#dge= jeejej2ddfed=e& edhe< eA_G didj djejZBeedSe4 edPe7 jeejej2d deB_G dkdl dlejZCeed;e* edWeB ed=e& ed>e( eC_G dmdn dnejZDeedoeC edpeA jeejej ddedqe/ jeejej d%dedre1 jeejej dsdedte3 jeejej dudeD_G dvdw dwejZEeD eE_edeeE_G dxdy dyej%ZFG dzd{ d{ej?ZGG d|d} d}ejZHeedSe4 edPe7 jeejej2d deH_G d~d dejZIe eI_edeeI_G dd dejZJG dd dej'ZKG dd dej%ZLG dd dejZMeedeJ edeL e#deK jeejej2d deM_G dd dejZNeed;e* edeM e#deI jeejej2ddeN_edd%d&d'dddsZOedd%d&d'dd(dZPedd%d&d'ddduZQG dd dejZReF eR_G dd dejZSeedeJ e#de' jeejej2d dfeS_G dd dej'ZTG dd dejZUeed;e* edeF edeS edeT eU_G dd dejZVeedeJ ede jeejej2d dfeV_G dd dejZWe eW_edeeW_G dd dejZXeed;e* edeY edeW eX_G dd dej%ZZG dd dejZ[eedeX edeZ edeG e[_G dd dejZ\eede ede e\_G dd de	j]Z^G dd dej)Z_e+de__,G dd dejZ`eead;e_ jddedejeede	b jeejej2d dfedec jeejej2ddfdedJec ede% edKe6 ede	d edej;e de#dee e#def 	e`_G dd dejZgeede` ede% ede? eg_G ddĄ dejZheedeY ede[ jeejej d dedeg jeejej2ddede^ jeejej2d%dede\ jeejej dsdeh_G ddɄ dejZieh ei_G dd˄ dej'ZjG dd̈́ dejZke ek_edeek_G ddτ dej'ZlG ddф dejZmeed;e* edeH edeF e#de jeejej2d dedeZ edel e#dek jeejej2ddem_G ddք dejZnem en_G dd؄ dejZoeed;e* edeR edeS e#dei jeejej2d de#de! jeejej2ddeden eo_G ddބ dej%ZpG dd dej'ZqG dd dejZreedes ede. er_G dd dejZtee#dei jeejej2d de#de! jeejej2ddet_G dd dejZue eu_edeeu_G dd dejZveed;e* e#det jeejej d dedeE edep e#deF jeejej2ddedeS e#deu jeejej2d%dedej e#deW jeejej2dsd	ev_edd%d&d'ddddd	Zwedd%d&d'dd(dsZxG dd dejZyeed;e* e#det jeejej d dedeE edeM e#deI jeejej2ddey_G dd demZzedd%d&d'dd(dZ{edd%d&d'dddZ|G dd dejZ}eedeY ede[ jeejej d de}_edd%d&d'dd(dZ~edd%d&d'ddddd%	ZG dd derZedd%d&d'dddZdS )    )
constraint)	namedtype)namedval)tag)univ)useful)rfc3280)rfc3281infc                  G   sF   g }t | D ]}t|tjr|t| q|t| qt|S )N)tuple
isinstancer   ObjectIdentifierextendlistappendint)Z
componentsoutputx r   8/usr/lib/python3/dist-packages/pyasn1_modules/rfc3852.py	_buildOid   s   
r   c                   @      e Zd ZdS )AttributeValueN__name__
__module____qualname__r   r   r   r   r   &       r   c                   @   r   )	AttributeNr   r   r   r   r   r   *   r   r   ZattrTypeZ
attrValues)componentTypec                   @   r   )SignedAttributesNr   r   r   r   r   r    4   r   r       c                   @   r   )OtherRevocationInfoFormatNr   r   r   r   r   r"   <   r   r"   ZotherRevInfoFormatZotherRevInfoc                   @   r   )RevocationInfoChoiceNr   r   r   r   r   r#   F   r   r#   Zcrlother)ZimplicitTagc                   @   r   )RevocationInfoChoicesNr   r   r   r   r   r%   Q   r   r%   c                   @   r   )OtherKeyAttributeNr   r   r   r   r   r&   X   r   r&   Z	keyAttrIdZkeyAttr   iH  i    c                   @   r   ) KeyEncryptionAlgorithmIdentifierNr   r   r   r   r   r)   d   r   r)   c                   @   r   )EncryptedKeyNr   r   r   r   r   r*   h   r   r*   c                   @   r   )
CMSVersionNr   r   r   r   r   r+   l   r   r+   )Zv0r   )v1r!   )Zv2r'   )Zv3   )Zv4   )Zv5   c                   @   r   )KEKIdentifierNr   r   r   r   r   r0   z   r   r0   ZkeyIdentifierdatec                   @   r   )KEKRecipientInfoNr   r   r   r   r   r2      r   r2   versionZkekidZkeyEncryptionAlgorithmZencryptedKeyc                   @   r   ) KeyDerivationAlgorithmIdentifierNr   r   r   r   r   r4      r   r4   c                   @   r   )PasswordRecipientInfoNr   r   r   r   r   r5      r   r5   ZkeyDerivationAlgorithmc                   @   r   )OtherRecipientInfoNr   r   r   r   r   r6      r   r6   ZoriTypeZoriValuec                   @   r   )IssuerAndSerialNumberNr   r   r   r   r   r7      r   r7   ZissuerZserialNumberc                   @   r   )SubjectKeyIdentifierNr   r   r   r   r   r8      r   r8   c                   @   r   )RecipientKeyIdentifierNr   r   r   r   r   r9      r   r9   ZsubjectKeyIdentifierc                   @   r   )KeyAgreeRecipientIdentifierNr   r   r   r   r   r:      r   r:   ZissuerAndSerialNumberZrKeyIdc                   @   r   )RecipientEncryptedKeyNr   r   r   r   r   r;      r   r;   Zridc                   @   r   )RecipientEncryptedKeysNr   r   r   r   r   r<      r   r<   c                   @   r   )UserKeyingMaterialNr   r   r   r   r   r=      r   r=   c                   @   r   )OriginatorPublicKeyNr   r   r   r   r   r>      r   r>   	algorithmZ	publicKeyc                   @   r   )OriginatorIdentifierOrKeyNr   r   r   r   r   r@      r   r@   ZoriginatorKeyc                   @   r   )KeyAgreeRecipientInfoNr   r   r   r   r   rA      r   rA   Z
originator)ZexplicitTagZukmZrecipientEncryptedKeysc                   @   r   )RecipientIdentifierNr   r   r   r   r   rB     r   rB   c                   @   r   )KeyTransRecipientInfoNr   r   r   r   r   rC     r   rC   c                   @   r   )RecipientInfoNr   r   r   r   r   rD   "  r   rD   ZktriZkariZkekriZpwrir-   Zorir.   c                   @   r   )RecipientInfosNr   r   r   r   r   rE   3  r   rE   c                   @   r   )DigestAlgorithmIdentifierNr   r   r   r   r   rF   ;  r   rF   c                   @   r   )	SignatureNr   r   r   r   r   rG   ?  r   rG   c                   @   r   )SignerIdentifierNr   r   r   r   r   rH   C  r   rH   c                   @   r   )UnprotectedAttributesNr   r   r   r   r   rI   N  r   rI   c                   @   r   )ContentTypeNr   r   r   r   r   rJ   V  r   rJ   c                   @   r   )EncryptedContentNr   r   r   r   r   rK   Z  r   rK   c                   @   r   )$ContentEncryptionAlgorithmIdentifierNr   r   r   r   r   rL   ^  r   rL   c                   @   r   )EncryptedContentInfoNr   r   r   r   r   rM   b  r   rM   ZcontentTypeZcontentEncryptionAlgorithmZencryptedContentc                   @   r   )EncryptedDataNr   r   r   r   r   rN   n  r   rN   ZencryptedContentInfoZunprotectedAttrs	   c                   @   r   )DigestAlgorithmIdentifiersNr   r   r   r   r   rP     r   rP   c                   @   r   )EncapsulatedContentInfoNr   r   r   r   r   rQ     r   rQ   ZeContentTypeZeContentc                   @   r   )DigestNr   r   r   r   r   rR     r   rR   c                   @   r   )DigestedDataNr   r   r   r   r   rS     r   rS   ZdigestAlgorithmZencapContentInfoZdigestc                   @   r   )ContentInfoNr   r   r   r   r   rT     r   rT   Zcontentc                   @   r   )UnauthAttributesNr   r   r   r   r   rU     r   rU   c                   @   r   )ExtendedCertificateInfoNr   r   r   r   r   rV     r   rV   ZcertificateZ
attributesc                   @   r   )SignatureAlgorithmIdentifierNr   r   r   r   r   rW     r   rW   c                   @   r   )ExtendedCertificateNr   r   r   r   r   rX     r   rX   ZextendedCertificateInfoZsignatureAlgorithmZ	signaturec                   @   r   )OtherCertificateFormatNr   r   r   r   r   rY     r   rY   ZotherCertFormatZ	otherCertc                   @   r   )AttributeCertificateV2Nr   r   r   r   r   rZ     r   rZ   c                   @   r   )AttCertVersionV1Nr   r   r   r   r   r[     r   r[   )r,   r   c                   @   r   )AttributeCertificateInfoV1Nr   r   r   r   r   r\     r   r\   r,   )valuesubjectZbaseCertificateIDZsubjectNameZattCertValidityPeriodZissuerUniqueID
extensionsc                   @   r   )AttributeCertificateV1Nr   r   r   r   r   r`     r   r`   ZacInfoc                   @   r   )CertificateChoicesNr   r   r   r   r   ra     r   ra   ZextendedCertificateZ
v1AttrCertZ
v2AttrCertc                   @   r   )CertificateSetNr   r   r   r   r   rb     r   rb   c                   @   r   )MessageAuthenticationCodeNr   r   r   r   r   rc      r   rc   c                   @   r   )UnsignedAttributesNr   r   r   r   r   rd   $  r   rd   c                   @   r   )SignatureValueNr   r   r   r   r   re   ,  r   re   c                   @   r   )
SignerInfoNr   r   r   r   r   rf   0  r   rf   ZsidZsignedAttrsZunsignedAttrsc                   @   r   )SignerInfosNr   r   r   r   r   rg   A  r   rg   c                   @   r   )
SignedDataNr   r   r   r   r   rh   H  r   rh   ZdigestAlgorithmsZcertificatesZcrlsZsignerInfosc                   @   r   )"MessageAuthenticationCodeAlgorithmNr   r   r   r   r   ri   X  r   ri   c                   @   r   )MessageDigestNr   r   r   r   r   rj   \  r   rj   c                   @   r   )TimeNr   r   r   r   r   rk   `  r   rk   ZutcTimeZgeneralTimec                   @   r   )OriginatorInfoNr   r   r   r   r   rl   j  r   rl   Zcertsc                   @   r   )AuthAttributesNr   r   r   r   r   rm   v  r   rm   c                   @   r   )AuthenticatedDataNr   r   r   r   r   rn   ~  r   rn   ZoriginatorInfoZrecipientInfosZmacAlgorithmZ	authAttrsZmacZunauthAttrs      c                   @   r   )EnvelopedDataNr   r   r   r   r   rq     r   rq   c                   @   r   )CountersignatureNr   r   r   r   r   rr     r   rr   r/   c                   @   r   ) ExtendedCertificateOrCertificateNr   r   r   r   r   rs     r   rs   c                   @   r   )SigningTimeNr   r   r   r   r   rt     r   rt   N)Zpyasn1.typer   r   r   r   r   r   Zpyasn1_modulesr   r	   floatMAXr   ZAnyr   Sequencer   Z
NamedTypesZ	NamedTyper   ZSetOfr   r    ZValueSizeConstraintZsubtypeSpecr"   ZChoicer#   ZCertificateListZsubtypeZTagZtagClassContextZtagFormatConstructedr%   r&   ZOptionalNamedTypeZid_signedDataZAlgorithmIdentifierr)   ZOctetStringr*   ZIntegerr+   ZNamedValuesZnamedValuesr0   ZGeneralizedTimer2   r4   r5   ZtagFormatSimpler6   r7   NameZCertificateSerialNumberr8   r9   r:   r;   Z
SequenceOfr<   r=   r>   Z	BitStringr@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   Zid_contentTypeZid_dataZid_messageDigestrP   rQ   rR   rS   rT   rU   rV   ZCertificaterW   rX   rY   ZAttributeCertificaterZ   r[   r\   ZDefaultedNamedTypeZIssuerSerialZGeneralNamesZAttCertValidityPeriodZUniqueIdentifierZ
Extensionsr`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   ZUTCTimerl   rm   rn   Zid_ct_contentInfoZid_envelopedDatarq   rr   Zid_digestedDataZid_signingTimers   Zid_encryptedDataZid_ct_authDatart   Zid_countersignaturer   r   r   r   <module>   s  
		$$$