
    ha                        d Z ddlZddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZmZmZ  ej        d	          Z ej        d
          Z ej        dej                  Z ej        d          Z ej        d          Z G d deeef                   Zd Zd Zddddddddddddddd d!Zi d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOZdPdQdRZi dSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}Z i d~dddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddÓddœddǓddɓdd˓dd͓ddϓddѓddӓddՓddדddٓddۓddݓddߓddddi ddddddddddddddddddddddddddddd dddddi dddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d2d3d4d5Z!i d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWi dXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdyi dzd{d|d}d~dddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddddddZ"i ddÓdĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓdҐdӓdԐdՓd֐dדdؐdٓdڐdۓdܐdݓdސdߓddddZ#ddddddddZ$dddZ%dddddddddddddZ&ddddd ddddd	Z'ddiZ(dd	d
dZ)dddddddZ*ddddddddZ+i dddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJZ,dKdLiZ-i dMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d\d^d_d`d_dadbdcdddedfdgdhdidjdkdli dmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddZ.ddddddddZ/eeee e!e"e#e'e&e$e%e-e(e.e)e*e+e,e/gZ0i Z1e0D ]Z2e13                    e2            edddie1e_4        ddddKdddddKdddddZ5dS (  z+
Management Information Base (MIB) parsing
    N)glob)DADictfixname)conf)do_graph)	plain_str)AnyDictListOptionalTuplez^[0-9]+$z'^([a-zA-Z_][a-zA-Z0-9_-]*)\(([0-9]+)\)$z8$\s*([a-zA-Z0-9_-]+)\s+OBJECT[^:\{\}]+::=\s*\{([^\}]+)\}z"[^"]*"z--.*(\r|\n)c                   (    e Zd Zd Zd Zd ZddZdS )MIBDictc                 ,   |                     d          r
|dd         }|                    d          s|dz  }d}d}d}| D ]F}|                     |dz             r,|t          |          k     rt          |          }| |         }|}G||||d         fS )z4Internal MIBDict function used to find a partial OID.   Nr    )
startswithendswithlen)selfxmaxrootroot_keyks         R/mounts/lovelace/software/anaconda3/lib/python3.11/site-packages/scapy/asn1/mib.py	_findrootzMIBDict._findroot'   s     << 	!""Azz# 	HA 	! 	!A||AG$$ !Q<<a&&C7D HXqRy((    c                 >    |                      |          \  }}}||z   S )z#Deduce the OID name from its OID ID)r   )r   r   r   _	remainders        r   _oidnamezMIBDict._oidname9   s'     "^^A..air    c                    |                     d                              d          t                    dz
  dk    rKt                                                 r+dz  dk    r t                                                 +dk    s!         | j                                        vr|S t          fd| j                                        D                       <   d	                    d                   S )z3Parse the OID id/OID generator, and return real OIDr   r   r   c              3   :   K   | ]\  }}|         k    |V  d S N ).0r   vpxls      r   	<genexpr>zMIBDict._oid.<locals>.<genexpr>H   s/      @@41aQ"Q%ZZQZZZZ@@r    N)
stripsplitr   _mib_re_integermatchdvaluesnextitemsjoin)r   r   r+   r,   s     @@r   _oidzMIBDict._oid?   s     WWS\\$$GGaK1ff..r!u55fFA 1ff..r!u55f66RU$&--//11H@@@@@46<<>>@@@@@1xx122r    Nc           	          |g } fd                                  D             }t                                                      }|D ]0}||vr*|                                         |          |f           1d}|D ]\  }}|d|d|dz  }|dz  }|D ]P\  }}                     |d d                   \  }}	}
|
dd          |d         z   }
|d	k    r|	}|d|d
|d|
dz  }Q|dz  }t          |fi | d S )Nc                 $    g | ]}|         |fS r(   r(   )r)   keyr   s     r   
<listcomp>z'MIBDict._make_graph.<locals>.<listcomp>O   s"    ===c$s)S!===r    zdigraph "mib" {
	rankdir=LR;

z	"z" [ label="z"  ];

r   r   r   z" -> "z
" [label="z"];
z}
)iterkeyssetappendr$   r   r   )r   
other_keyskargsnodesoidsr   soparent
parent_keyr#   s   `          r   _make_graphzMIBDict._make_graphK   s[   J====T]]__===4==??## 	4 	4A}}dmmA..23330 	6 	6DAqA11155AA	T	 	K 	KDAq,0NN1SbS6,B,B)FJ	!!"""-I}}#AVVVQQQ			JJAA	U
er    r'   )__name__
__module____qualname__r   r$   r7   rH   r(   r    r   r   r   &   sU        ) ) )$     
  
  
      r    r   c                 V   | |v r| |d                     |          <   dS | |v rdS g }d}|D ]}t                              |          r|                    |           2t	          t          |                    }||vrd}||v r|||         z  }d||v r|||         z  }t|                    |           |r||| <   dS ||| <   t          |          }d}	|	t          |          k     rB||	         }
t          |
||
         |i |          r	||
= ||	= d}	n|	dz  }	|	t          |          k     BdS )zM
    Internal function used to register an OID and its name in a MIBDict
    r   TFr   r   )	r6   r0   r1   r?   r   r   listr   _mib_register)identvaluethe_mib
unresolvedaliasresvalnot_resolvedr*   keysir   s              r   rN   rN   b   s    !&chhuoot
uFL  ! !  ## 	!MM!	!%%A G||'!*$j*Q-'a     "
5u  J #d))mmQAQ
1wEBB qMGQ #d))mm tr    c                 
   ddgi}i }i }t           j        D ]8}t          t           j        |         |                    d          |||           9t	          | t
          t          f          r| g}n| }|D ]o}t          |          D ][}t          |          5 }|	                                }	ddd           n# 1 swxY w Y   d
                    t                              d
                    t                              |	                                        }
t                              |
          D ]}|                                }|d         |d         }}t!          |          }|                                }t#          |          D ]>\  }}t$                              |          }|r|                                d         ||<   ?t          |||||           ]qt)          d	
          }|                                D ]\  }}||d
                    |          <   |                                D ]\  }}||d
                    |          <   |                                D ]
\  }}|||<   |t           _        dS )z9
    Load the conf.mib dict from a list of filenames
    iso1r   N r   r   r   MIB)_name)r   mibrN   r/   
isinstancestrbytesr   openreadr6   _mib_re_strings_mib_re_comments_mib_re_oiddeclfinditergroupsr   	enumerate_mib_re_bothr1   r   r5   )	filenamesrQ   rR   rS   r   
files_listfnamesfnameftext	cleantextmgrrO   oid_soid_lrW   eltm2newmiboidr:   key_ss                          r   load_mibr{      s   
 senGJEX M Mdhqk1773<<*eLLLL )c5\** [


 H H&\\ 	H 	HEe  vvxx                             %%chh/?/E/Ed/K/K&L&LMM I %--i88 	H 	HXXZZ!!ubfu'.. 2 2FAs%++C00B 2#%99;;q>aeUGZGGGG	H	H$ 5!!!FMMOO $ $S #sxx}}$$&& $ $S #sxx}}kkmm  
suDHHHs   B88B<?B<pkcs1rsaEncryptionmd2WithRSAEncryptionmd4WithRSAEncryptionmd5WithRSAEncryptionzsha1-with-rsa-signaturersaOAEPEncryptionSETzid-RSAES-OAEPzid-mgf1zid-pSpecifiedz
rsassa-psssha256WithRSAEncryptionsha384WithRSAEncryptionsha512WithRSAEncryptionsha224WithRSAEncryption)z1.2.840.113549.1.1z1.2.840.113549.1.1.11.2.840.113549.1.1.21.2.840.113549.1.1.31.2.840.113549.1.1.41.2.840.113549.1.1.5z1.2.840.113549.1.1.6z1.2.840.113549.1.1.7z1.2.840.113549.1.1.8z1.2.840.113549.1.1.9z1.2.840.113549.1.1.101.2.840.113549.1.1.111.2.840.113549.1.1.121.2.840.113549.1.1.131.2.840.113549.1.1.14z
1.3.14.3.2OIWSECz1.3.14.3.2.2md4RSAz1.3.14.3.2.3md5RSAz1.3.14.3.2.4md4RSA2z1.3.14.3.2.6desECBz1.3.14.3.2.7desCBCz1.3.14.3.2.8desOFBz1.3.14.3.2.9desCFBz1.3.14.3.2.10desMACz1.3.14.3.2.11rsaSignz1.3.14.3.2.12dsaz1.3.14.3.2.13shaDSAz1.3.14.3.2.14mdc2RSAz1.3.14.3.2.15shaRSAz1.3.14.3.2.16	dhCommModz1.3.14.3.2.17desEDEz1.3.14.3.2.18shamdc2dsaComm
dsaCommSHArsaXchgkeyHashSeal
md2RSASign
md5RSASignsha1dsaSHA1dsaCommSHA1sha1RSASign)z1.3.14.3.2.19z1.3.14.3.2.20z1.3.14.3.2.21z1.3.14.3.2.22z1.3.14.3.2.23z1.3.14.3.2.24z1.3.14.3.2.25z1.3.14.3.2.26z1.3.14.3.2.27z1.3.14.3.2.28z1.3.14.3.2.29Ed25519Ed448)z1.3.101.112z1.3.101.113z1.2.840.113549.1.9pkcs9z1.2.840.113549.1.9.0modulesz1.2.840.113549.1.9.1emailAddressz1.2.840.113549.1.9.2unstructuredNamez1.2.840.113549.1.9.3contentTypez1.2.840.113549.1.9.4messageDigestz1.2.840.113549.1.9.5zsigning-timez1.2.840.113549.1.9.6countersignaturez1.2.840.113549.1.9.7challengePasswordz1.2.840.113549.1.9.8unstructuredAddressz1.2.840.113549.1.9.9extendedCertificateAttributesz1.2.840.113549.1.9.13signingDescriptionz1.2.840.113549.1.9.14extensionRequestz1.2.840.113549.1.9.15smimeCapabilitiesz1.2.840.113549.1.9.16smimez1.2.840.113549.1.9.17pgpKeyIDz1.2.840.113549.1.9.20friendlyName
localKeyID	certTypescrlTypesz	pkcs-9-ocz	pkcs-9-atz	pkcs-9-sxz	pkcs-9-mrzid-aa-CMSAlgorithmProtection)z1.2.840.113549.1.9.21z1.2.840.113549.1.9.22z1.2.840.113549.1.9.23z1.2.840.113549.1.9.24z1.2.840.113549.1.9.25z1.2.840.113549.1.9.26z1.2.840.113549.1.9.27z1.2.840.113549.1.9.52z2.5.4.0objectClassz2.5.4.1aliasedEntryNamez2.5.4.2knowledgeInformationz2.5.4.3
commonNamez2.5.4.4surnamez2.5.4.5serialNumberz2.5.4.6countryNamez2.5.4.7localityNamez2.5.4.8stateOrProvinceNamez2.5.4.9streetAddressz2.5.4.10organizationNamez2.5.4.11organizationUnitNamez2.5.4.12titlez2.5.4.13descriptionz2.5.4.14searchGuidez2.5.4.15businessCategoryz2.5.4.16postalAddressz2.5.4.17
postalCodez2.5.4.18postOfficeBoxz2.5.4.19physicalDeliveryOfficeNamez2.5.4.20telephoneNumberz2.5.4.21telexNumberz2.5.4.22teletexTerminalIdentifierz2.5.4.23facsimileTelephoneNumberz2.5.4.24x121Addressz2.5.4.25internationalISDNNumberz2.5.4.26registeredAddressz2.5.4.27destinationIndicatorz2.5.4.28preferredDeliveryMethodz2.5.4.29presentationAddressz2.5.4.30supportedApplicationContextz2.5.4.31memberz2.5.4.32ownerz2.5.4.33roleOccupantz2.5.4.34seeAlsoz2.5.4.35userPasswordz2.5.4.36userCertificatez2.5.4.37cACertificatez2.5.4.38authorityRevocationListz2.5.4.39certificateRevocationListz2.5.4.40crossCertificatePairz2.5.4.41namez2.5.4.42	givenNamez2.5.4.43initialsz2.5.4.44generationQualifierz2.5.4.45uniqueIdentifierz2.5.4.46dnQualifierz2.5.4.47enhancedSearchGuidez2.5.4.48protocolInformationz2.5.4.49distinguishedNamez2.5.4.50uniqueMemberz2.5.4.51houseIdentifierz2.5.4.52supportedAlgorithmsz2.5.4.53deltaRevocationListz2.5.4.54dmdNamez2.5.4.55	clearancez2.5.4.56defaultDirQopz2.5.4.57attributeIntegrityInfoz2.5.4.58attributeCertificatez2.5.4.59"attributeCertificateRevocationListz2.5.4.60confKeyInfoz2.5.4.61aACertificatez2.5.4.62attributeDescriptorCertificatez2.5.4.63 attributeAuthorityRevocationListz2.5.4.64zfamily-informationz2.5.4.65	pseudonymz2.5.4.66communicationsServicez2.5.4.67communicationsNetworkz2.5.4.68certificationPracticeStmtz2.5.4.69certificatePolicyz2.5.4.70pkiPathz2.5.4.71
privPolicyz2.5.4.72rolez2.5.4.73delegationPathz2.5.4.74protPrivPolicyz2.5.4.75xMLPrivilegeInfoz2.5.4.76xmlPrivPolicyz2.5.4.77uuidpairz2.5.4.78tagOidz2.5.4.79	uiiFormatz2.5.4.80uiiInUrhz2.5.4.81
contentUrlz2.5.4.82
permissionz2.5.4.83uriz2.5.4.84pwdAttributeuserPwdurnurlutmCoordinatesurnCuiiepctagAfi	epcFormatepcInUrnldapUrlorganizationIdentifierdc)z2.5.4.85z2.5.4.86z2.5.4.87z2.5.4.88z2.5.4.89z2.5.4.90z2.5.4.91z2.5.4.92z2.5.4.93z2.5.4.94z2.5.4.95z2.5.4.96z2.5.4.97z0.9.2342.19200300.100.1.25z2.5.29.1z authorityKeyIdentifier(obsolete)z2.5.29.2keyAttributesz2.5.29.3zcertificatePolicies(obsolete)z2.5.29.4keyUsageRestrictionz2.5.29.5policyMappingz2.5.29.6subtreesConstraintz2.5.29.7zsubjectAltName(obsolete)z2.5.29.8zissuerAltName(obsolete)z2.5.29.9subjectDirectoryAttributesz	2.5.29.10zbasicConstraints(obsolete)z	2.5.29.14subjectKeyIdentifierz	2.5.29.15keyUsagez	2.5.29.16privateKeyUsagePeriodz	2.5.29.17subjectAltNamez	2.5.29.18issuerAltNamez	2.5.29.19basicConstraintsz	2.5.29.20	cRLNumberz	2.5.29.21
reasonCodez	2.5.29.22expirationDatez	2.5.29.23instructionCodez	2.5.29.24invalidityDatez	2.5.29.25zcRLDistributionPoints(obsolete)z	2.5.29.26z"issuingDistributionPoint(obsolete)z	2.5.29.27deltaCRLIndicatorz	2.5.29.28issuingDistributionPointz	2.5.29.29certificateIssuerz	2.5.29.30nameConstraintsz	2.5.29.31cRLDistributionPointsz	2.5.29.32certificatePoliciesz	2.5.29.33policyMappingsz	2.5.29.34zpolicyConstraints(obsolete)z	2.5.29.35authorityKeyIdentifierz	2.5.29.36policyConstraintsz	2.5.29.37extKeyUsagez	2.5.29.38authorityAttributeIdentifierz	2.5.29.39roleSpecCertIdentifierz	2.5.29.40cRLStreamIdentifierz	2.5.29.41basicAttConstraintsz	2.5.29.42delegatedNameConstraintsz	2.5.29.43timeSpecificationz	2.5.29.44cRLScopez	2.5.29.45statusReferralsz	2.5.29.46freshestCRLz	2.5.29.47orderedListz	2.5.29.48attributeDescriptorz	2.5.29.49
userNoticez	2.5.29.50sOAIdentifierz	2.5.29.51baseUpdateTimez	2.5.29.52acceptableCertPoliciesz	2.5.29.53	deltaInfoz	2.5.29.54inhibitAnyPolicyz	2.5.29.55targetInformationz	2.5.29.56
noRevAvailz	2.5.29.57acceptablePrivilegePoliciesz	2.5.29.58zid-ce-toBeRevokedz	2.5.29.59zid-ce-RevokedGroupsz	2.5.29.60zid-ce-expiredCertsOnCRLz	2.5.29.61indirectIssuerz	2.5.29.62zid-ce-noAssertionz	2.5.29.63z id-ce-aAissuingDistributionPointz	2.5.29.64zid-ce-issuedOnBehaIFOFz	2.5.29.65zid-ce-singleUsez	2.5.29.66zid-ce-groupACz	2.5.29.67zid-ce-allowedAttAssz	2.5.29.68zid-ce-attributeMappingsz	2.5.29.69zid-ce-holderNameConstraintsz1.3.6.1.4.1.311.2.1.14CERT_EXTENSIONSz1.3.6.1.4.1.311.20.2ENROLL_CERTTYPENTDS_REPLICATIONNTDS_CA_SECURITY_EXTNTDS_OBJECTSID)z1.3.6.1.4.1.311.25.1z1.3.6.1.4.1.311.25.2z1.3.6.1.4.1.311.25.2.1z2.16.840.1.113730.1.1z	cert-typez2.16.840.1.113730.1.2zbase-urlz2.16.840.1.113730.1.3zrevocation-urlz2.16.840.1.113730.1.4zca-revocation-urlz2.16.840.1.113730.1.5z
ca-crl-urlz2.16.840.1.113730.1.6zca-cert-urlz2.16.840.1.113730.1.7zrenewal-urlz2.16.840.1.113730.1.8zca-policy-urlz2.16.840.1.113730.1.9zhomepage-urlz2.16.840.1.113730.1.10zentity-logoz2.16.840.1.113730.1.11zuser-picturez2.16.840.1.113730.1.12zssl-server-namez2.16.840.1.113730.1.13commentz2.16.840.1.113730.1.14zlost-password-urlz2.16.840.1.113730.1.15zcert-renewal-timez2.16.840.1.113730.1.16aiaz2.16.840.1.113730.1.17zcert-scope-of-useauthorityInfoAccessbiometricInfoqcStatementsauditIdentity
aaControlsproxyingsubjectInfoAccess)z1.3.6.1.5.5.7.1.1z1.3.6.1.5.5.7.1.2z1.3.6.1.5.5.7.1.3z1.3.6.1.5.5.7.1.4z1.3.6.1.5.5.7.1.6z1.3.6.1.5.5.7.1.10z1.3.6.1.5.5.7.1.11cpsunotice)z1.3.6.1.5.5.7.2.1z1.3.6.1.5.5.7.2.2
serverAuth
clientAuthcodeSigningemailProtectionipsecEndSystemipsecTunnel	ipsecUsertimeStampingocspSigningdvcssecureShellClientsecureShellServer)z1.3.6.1.5.5.7.3.1z1.3.6.1.5.5.7.3.2z1.3.6.1.5.5.7.3.3z1.3.6.1.5.5.7.3.4z1.3.6.1.5.5.7.3.5z1.3.6.1.5.5.7.3.6z1.3.6.1.5.5.7.3.7z1.3.6.1.5.5.7.3.8z1.3.6.1.5.5.7.3.9z1.3.6.1.5.5.7.3.10z1.3.6.1.5.5.7.3.21z1.3.6.1.5.5.7.3.22ocsp	caIssuerstimestampingz
id-ad-dvcszid-ad-caRepositoryzid-pkix-ocsp-archive-cutoffzid-pkix-ocsp-service-locatorz	id-ad-cmczbasic-response)	z1.3.6.1.5.5.7.48.1z1.3.6.1.5.5.7.48.2z1.3.6.1.5.5.7.48.3z1.3.6.1.5.5.7.48.4z1.3.6.1.5.5.7.48.5z1.3.6.1.5.5.7.48.6z1.3.6.1.5.5.7.48.7z1.3.6.1.5.5.7.48.12z1.3.6.1.5.5.7.48.1.1z1.3.6.1.4.1.11129.2.4.2SignedCertificateTimestampListzprime-fieldzcharacteristic-two-fieldecPublicKey)z1.2.840.10045.1.1z1.2.840.10045.1.2z1.2.840.10045.2.1zecdsa-with-SHA1zecdsa-with-Recommendedzecdsa-with-SHA224zecdsa-with-SHA256zecdsa-with-SHA384zecdsa-with-SHA512)1.2.840.10045.4.1z1.2.840.10045.4.21.2.840.10045.4.3.11.2.840.10045.4.3.21.2.840.10045.4.3.31.2.840.10045.4.3.4
prime192v1
prime192v2
prime192v3
prime239v1
prime239v2
prime239v3
prime256v1)z1.2.840.10045.3.1.1z1.2.840.10045.3.1.2z1.2.840.10045.3.1.3z1.2.840.10045.3.1.4z1.2.840.10045.3.1.5z1.2.840.10045.3.1.6z1.2.840.10045.3.1.7z1.3.132.0.1
ansit163k1z1.3.132.0.2
ansit163r1z1.3.132.0.3
ansit239k1z1.3.132.0.4	sect113r1z1.3.132.0.5	sect113r2z1.3.132.0.6	secp112r1z1.3.132.0.7	secp112r2z1.3.132.0.8
ansip160r1z1.3.132.0.9
ansip160k1z1.3.132.0.10
ansip256k1z1.3.132.0.15
ansit163r2z1.3.132.0.16
ansit283k1z1.3.132.0.17
ansit283r1z1.3.132.0.22	sect131r1z1.3.132.0.24
ansit193r1z1.3.132.0.25
ansit193r2z1.3.132.0.26
ansit233k1
ansit233r1	secp128r1	secp128r2
ansip160r2
ansip192k1
ansip224k1
ansip224r1
ansip384r1
ansip521r1
ansit409k1
ansit409r1
ansit571k1
ansit571r1)z1.3.132.0.27z1.3.132.0.28z1.3.132.0.29z1.3.132.0.30z1.3.132.0.31z1.3.132.0.32z1.3.132.0.33z1.3.132.0.34z1.3.132.0.35z1.3.132.0.36z1.3.132.0.37z1.3.132.0.38z1.3.132.0.39z2.5.29.32.0	anyPolicyz1.2.392.200091.100.721.1z!EV Security Communication RootCA1z1.2.616.1.113527.2.5.1.1zEV Certum Trusted Network CAz1.3.159.1.17.1z"EV Actualis Authentication Root CAz1.3.6.1.4.1.13177.10.1.3.10z<EV Autoridad de Certificacion Firmaprofesional CIF A62634068z1.3.6.1.4.1.14370.1.6z+EV GeoTrust Primary Certification Authorityz1.3.6.1.4.1.14777.6.1.1zEV Izenpe.com roots Businessz1.3.6.1.4.1.14777.6.1.2zEV Izenpe.com roots Governmentz1.3.6.1.4.1.17326.10.14.2.1.2z6EV AC Camerfirma S.A. Chambers of Commerce Root - 2008z1.3.6.1.4.1.17326.10.14.2.2.2z1.3.6.1.4.1.17326.10.8.12.1.2z4EV AC Camerfirma S.A. Global Chambersign Root - 2008z1.3.6.1.4.1.17326.10.8.12.2.2z1.3.6.1.4.1.22234.2.5.2.3.1z*EV CertPlus Class 2 Primary CA (KEYNECTIS)z1.3.6.1.4.1.23223.1.1.1z#EV StartCom Certification Authorityz1.3.6.1.4.1.29836.1.10zAEV China Internet Network Information Center EV Certificates Rootz1.3.6.1.4.1.311.60.2.1.1'jurisdictionOfIncorporationLocalityNamez1.3.6.1.4.1.311.60.2.1.2.jurisdictionOfIncorporationStateOrProvinceNamez1.3.6.1.4.1.311.60.2.1.3&jurisdictionOfIncorporationCountryNamez1.3.6.1.4.1.34697.2.1zEV AffirmTrust Commercialz1.3.6.1.4.1.34697.2.2zEV AffirmTrust Networkingz1.3.6.1.4.1.34697.2.3zEV AffirmTrust Premiumz1.3.6.1.4.1.34697.2.4zEV AffirmTrust Premium ECCz1.3.6.1.4.1.36305.2z"EV Certificate Authority of WoSignz1.3.6.1.4.1.40869.1.1.22.3zEV TWCA Rootsz1.3.6.1.4.1.4146.1.1zEV GlobalSign Root CAsz1.3.6.1.4.1.4788.2.202.1z$EV D-TRUST Root Class 3 CA 2 EV 2009z1.3.6.1.4.1.6334.1.100.1zEV Cybertrust Global Rootz1.3.6.1.4.1.6449.1.2.1.5.1z&EV USERTrust Certification Authoritiesz1.3.6.1.4.1.781.1.2.1.8.1z*EV Network Solutions Certificate Authorityz1.3.6.1.4.1.782.1.2.1.8.1zEV AddTrust External CA Rootz1.3.6.1.4.1.7879.13.24.1z EV T-Telessec GlobalRoot Class 3z1.3.6.1.4.1.8024.0.2.100.1.2zEV QuoVadis Rootsz2.16.528.1.1003.1.2.7z#EV Staat der Nederlanden EV Root CAz2.16.578.1.26.1.3.3zEV Buypass Class 3z2.16.756.1.83.21.0zEV Swisscom Root EV CA 2zEV SwissSign Gold CA - G2z"EV E-Tugra Certification Authorityz%EV VeriSign Certification AuthoritieszEV thawte CAsz"EV Entrust Certification Authorityz>EV Wells Fargo WellsSecure Public Root Certification Authorityz'EV XRamp Global Certification Authorityz%EV DigiCert High Assurance EV Root CAz/EV ValiCert Class 2 Policy Validation Authorityz"EV Starfield Certificate Authorityz*EV Starfield Service Certificate Authority)z2.16.756.1.89.1.2.1.1z2.16.792.3.0.4.1.1.4z2.16.840.1.113733.1.7.23.6z2.16.840.1.113733.1.7.48.1z2.16.840.1.114028.10.1.2z2.16.840.1.114171.500.9z2.16.840.1.114404.1.1.2.4.1z2.16.840.1.114412.2.1z2.16.840.1.114413.1.7.23.3z2.16.840.1.114414.1.7.23.3z2.16.840.1.114414.1.7.24.3zMS KRB5 - Microsoft Kerberos 5z
Kerberos 5zKerberos 5 - User to UserzKerberos 5 - IAKERBz%SPNEGO - Simple Protected Negotiationz2NTLMSSP - Microsoft NTLM Security Support Providerz7NEGOEX - SPNEGO Extended Negotiation Security Mechanism)z1.2.840.48018.1.2.2z1.2.840.113554.1.2.2z1.2.840.113554.1.2.2.3z1.3.6.1.5.2.5z1.3.6.1.5.5.2z1.3.6.1.4.1.311.2.2.10z1.3.6.1.4.1.311.2.2.30r]   r\   md2md4md5sha256sha384sha512sha224)r   r   r   r   r   r   r   r   rp  rq  rr  rs  rt  r(   )6__doc__rer   scapy.dadictr   r   scapy.configr   scapy.utilsr   scapy.compatr   typingr	   r
   r   r   r   compiler0   rj   Mrf   rd   re   r`   r   rN   r{   
pkcs1_oidssecsig_oidsthawte_oids
pkcs9_oidsattributeType_oidscertificateExtension_oidscertExt_oidscertPkixPe_oidscertPkixQt_oidscertPkixKp_oidscertPkixAd_oidscertTransp_oidsx962KeyType_oidsx962Signature_oidsansiX962Curve_oidscerticomCurve_oidscertPolicy_oidsevPolicy_oidsgssapi_oidsx509_oids_sets	x509_oidsoids_setupdater^   hash_by_oidr(   r    r   <module>r     s3    
			       ( ( ( ( ( ( ( (                   " " " " " "              "*[))rzDEE"*?G G"*Z((2:n-- 9 9 9 9 9fS#X 9 9 9x7 7 7t/ / /r "+22252+%+)6666 
((H H I	
 H H H H X Y U X Y X [  X!" U#$ !"!!""9  D  'I N .	
 M O N . / 1 ; 1 / 0 W  Z!" ^#$ *('((((;3  
<e}e!e %e |	e
 ye ~e }e ~e $e e "e &e e e e  "!e" #e e$ %e& 'e( ,)e* !+e, -e. +/e0 *1e2 3e4 )5e6 #7e8 &9e: );e< %=e> -?e@ AeB CeD Ee e eF 	GeH IeJ !KeL MeN )OeP +QeR &SeT UeV WeX 
YeZ %[e\ "]e^ _e` %aeb %ced #eef ge e eh !iej %kel %men 	oep qer set (uev &wex 4yez {e| }e~ 0e@ 2AeB $CeD EeF 'GeH 'Ie e eJ +KeL #MeN 	OeP QeR SeT  UeV  WeX "YeZ [e\ 
]e^ _e` aeb 
ced eef geh iej ke el  ("&Ie e e NI2II /I %	I
 I $I *I )I ,I -I 'I I (I !I I  #!I" #I I$ %I& !'I( ")I* !+I, 2-I. 5/I0 $1I2 +3I4 $5I6 "7I8 (9I: &;I< !=I> .?I@ )AIB $CID EI I IF /GIH )IIJ &KIL &MIN +OIP $QIR SIT "UIV WIX YIZ &[I\ ]I^ _I` !aIb )cId eIf #gI I Ih $iIj kIl .mIn $oIp &qIr *sIt !uIv $wIx 3yIz ){I| "}I~ I@ &AIB *CID .EIH /IIJ -KI IL /2.QI I I V[Z - 0	
 \ ] ] _ ^ m n / i 1 1  e!" 1#* /('(%$-  "  &%&*)&$'& --   !%(&.78&,
 
 ? '3&   +1....   (''''''  << < ;	
 ; ; ; < < L L L L K L  L!" L#$ !          =   H ;
. C. >. :. "#a	.
 J. =. ?. $%]. $%]. $%[. $%[. "#O. D. a.  I.   P!."  H#. .$ 8%.& 8'.( 5).* 9+., ?-.. !//.0 41.2  F3.4  ;5.6 !"J7.8  !M9.:  !?;.<  B=.> #$7?.@ BA.B /C.D 4E. .F 9@"I"1 D_#LD"S"F"N[. . .f <(9*<RW  ', 	  HX7,,,),, "!!"%%%%#### r    