1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
U
[±dBã@s–ddlmZddlmZmZddlmZddlZddlZddl    m
Z
Gdd„de ƒZ Gd    d
„d
ej ƒZGd d „d ej ƒZeGd d„dƒƒZGdd„dej ƒZeGdd„dƒƒZeGdd„dƒƒZeGdd„dƒƒZeGdd„dƒƒZGdd„dej ƒZddœdd„Zddœdd „Zd!dd"œd#d$„Zd%ddd&œd'd(„Zd!dd)œd*d+„Zed,ƒeGd-d.„d.ƒƒƒZed/ƒeGd0d1„d1ƒƒƒZed2ƒeGd3d4„d4ƒƒƒZdS)5é)Ú annotationsé)Ú event_classÚ T_JSON_DICT)Ú    dataclassN)ÚnetworkcsBeZdZdZddœdd„Zedddœdd„ƒZ‡fd    d
„Z‡ZS) Ú CertificateIdz+
    An internal certificate ID value.
    Úint©ÚreturncCs|S©N©©Úselfr r úfd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\selenium/webdriver/common/devtools/v85/security.pyÚto_jsonszCertificateId.to_json©Újsonr cCs||ƒSr r ©Úclsrr r rÚ    from_jsonszCertificateId.from_jsoncsd tƒ ¡¡S)NzCertificateId({}))ÚformatÚsuperÚ__repr__r©Ú    __class__r rrszCertificateId.__repr__)    Ú__name__Ú
__module__Ú __qualname__Ú__doc__rÚ classmethodrrÚ __classcell__r r rrrs
rc@s0eZdZdZdZdZdZdd„Zedd„ƒZ    d    S)
ÚMixedContentTypez‹
    A description of mixed content (HTTP resources on HTTPS pages), as defined by
    https://www.w3.org/TR/mixed-content/#categories
    Z    blockablezoptionally-blockableÚnonecCs|jSr ©Úvaluerr r rr'szMixedContentType.to_jsoncCs||ƒSr r rr r rr*szMixedContentType.from_jsonN)
rrrrZ    BLOCKABLEZOPTIONALLY_BLOCKABLEÚNONErr rr r r rr"sr"c@s<eZdZdZdZdZdZdZdZdZ    dd    „Z
e d
d „ƒZ d S) Ú SecurityStatez3
    The security level of a page or resource.
    ÚunknownZneutralZinsecureÚsecureÚinfozinsecure-brokencCs|jSr r$rr r rr:szSecurityState.to_jsoncCs||ƒSr r rr r rr=szSecurityState.from_jsonN) rrrrÚUNKNOWNZNEUTRALZINSECUREZSECUREÚINFOZINSECURE_BROKENrr rr r r rr'/sr'c@sÂeZdZUdZded<ded<ded<ded<ded<ded    <d
ed <d
ed <d ed<d ed<d ed<d ed<d ed<d ed<d ed<dZded<dZded<dZded<dd„Ze    dd„ƒZ
dS)ÚCertificateSecurityStatezC
    Details about the security state of the page certificate.
    ÚstrÚprotocolÚ key_exchangeÚcipherútyping.List[str]Ú certificateÚ subject_nameÚissuerznetwork.TimeSinceEpochÚ
valid_fromÚvalid_toÚboolÚcertificate_has_weak_signatureÚcertificate_has_sha1_signatureÚ
modern_sslÚobsolete_ssl_protocolÚobsolete_ssl_key_exchangeÚobsolete_ssl_cipherÚobsolete_ssl_signatureNútyping.Optional[str]Úkey_exchange_groupÚmacÚcertificate_network_errorcCsîtƒ}|j|d<|j|d<|j|d<dd„|jDƒ|d<|j|d<|j|d<|j ¡|d    <|j     ¡|d
<|j
|d <|j |d <|j |d <|j |d<|j|d<|j|d<|j|d<|jdk    rÂ|j|d<|jdk    rÖ|j|d<|jdk    rê|j|d<|S)Nr/Ú keyExchanger1cSsg|]}|‘qSr r ©Ú.0Úir r rÚ
<listcomp>‚sz4CertificateSecurityState.to_json.<locals>.<listcomp>r3Ú subjectNamer5Ú    validFromÚvalidToÚcertificateHasWeakSignatureÚcertificateHasSha1SignatureÚ    modernSSLÚobsoleteSslProtocolÚobsoleteSslKeyExchangeÚobsoleteSslCipherÚobsoleteSslSignatureÚkeyExchangeGrouprBÚcertificateNetworkError)Údictr/r0r1r3r4r5r6rr7r9r:r;r<r=r>r?rArBrC©rrr r rr}s.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
z CertificateSecurityState.to_jsoncCsî|t|dƒt|dƒt|dƒdd„|dDƒt|dƒt|dƒtj |d    ¡tj |d
¡t|d ƒt|d ƒt|d ƒt|dƒt|dƒt|dƒt|dƒd|krºt|dƒndd|krÐt|dƒndd|kræt|dƒnddS)Nr/rDr1cSsg|] }t|ƒ‘qSr ©r.rEr r rrHœsz6CertificateSecurityState.from_json.<locals>.<listcomp>r3rIr5rJrKrLrMrNrOrPrQrRrSrBrT)r/r0r1r3r4r5r6r7r9r:r;r<r=r>r?rArBrC)r.rZTimeSinceEpochrr8rr r rr–s(
 
 
 
 
 
 
 
 
 
 
 
îz"CertificateSecurityState.from_json) rrrrÚ__annotations__rArBrCrr rr r r rr-Bs,
   r-c@s(eZdZdZdZdd„Zedd„ƒZdS)ÚSafetyTipStatusZ badReputationZ    lookalikecCs|jSr r$rr r rr²szSafetyTipStatus.to_jsoncCs||ƒSr r rr r rrµszSafetyTipStatus.from_jsonN)rrrZBAD_REPUTATIONZ    LOOKALIKErr rr r r rrY®s
rYc@s6eZdZUded<dZded<dd„Zedd    „ƒZdS)
Ú SafetyTipInforYÚsafety_tip_statusNr@Úsafe_urlcCs,tƒ}|j ¡|d<|jdk    r(|j|d<|S)NÚsafetyTipStatusÚsafeUrl)rUr[rr\rVr r rrÂs
 
 
zSafetyTipInfo.to_jsoncCs*|t |d¡d|kr"t|dƒnddS)Nr]r^)r[r\)rYrr.rr r rrÉs þzSafetyTipInfo.from_json)rrrrXr\rr rr r r rrZºs
 
 rZc@sNeZdZUdZded<ded<dZded<dZd    ed
<d d „Zed d„ƒZ    dS)ÚVisibleSecurityStatez4
    Security state information about the page.
    r'Úsecurity_stater2Úsecurity_state_issue_idsNz)typing.Optional[CertificateSecurityState]Úcertificate_security_stateztyping.Optional[SafetyTipInfo]Úsafety_tip_infocCs\tƒ}|j ¡|d<dd„|jDƒ|d<|jdk    r@|j ¡|d<|jdk    rX|j ¡|d<|S)NÚ securityStatecSsg|]}|‘qSr r rEr r rrHåsz0VisibleSecurityState.to_json.<locals>.<listcomp>ÚsecurityStateIssueIdsÚcertificateSecurityStateÚ safetyTipInfo)rUr`rrarbrcrVr r rrâs
 
zVisibleSecurityState.to_jsoncCsT|t |d¡dd„|dDƒd|kr4t |d¡ndd|krLt |d¡nddS)NrdcSsg|] }t|ƒ‘qSr rWrEr r rrHðsz2VisibleSecurityState.from_json.<locals>.<listcomp>rerfrg)r`rarbrc)r'rr-rZrr r rrìs  üzVisibleSecurityState.from_json)
rrrrrXrbrcrr rr r r rr_Ñs
 
r_c@sbeZdZUdZded<ded<ded<ded<ded    <d
ed <d Zd ed<dd„Zedd„ƒZd S)ÚSecurityStateExplanationzI
    An explanation of an factor contributing to the security state.
    r'r`r.ÚtitleÚsummaryÚ descriptionr"Úmixed_content_typer2r3Nz!typing.Optional[typing.List[str]]ÚrecommendationscCsvtƒ}|j ¡|d<|j|d<|j|d<|j|d<|j ¡|d<dd„|jDƒ|d<|jdk    rrd    d„|jDƒ|d
<|S) NrdrirjrkÚmixedContentTypecSsg|]}|‘qSr r rEr r rrHsz4SecurityStateExplanation.to_json.<locals>.<listcomp>r3cSsg|]}|‘qSr r rEr r rrHsrm)    rUr`rrirjrkrlr3rmrVr r rrs
 
 
 
z SecurityStateExplanation.to_jsonc
Csj|t |d¡t|dƒt|dƒt|dƒt |d¡dd„|dDƒd    |krbd
d„|d    Dƒndd S) NrdrirjrkrncSsg|] }t|ƒ‘qSr rWrEr r rrH$sz6SecurityStateExplanation.from_json.<locals>.<listcomp>r3rmcSsg|] }t|ƒ‘qSr rWrEr r rrH%s)r`rirjrkrlr3rm)r'rr.r"rr r rrs 
 
 
 ùz"SecurityStateExplanation.from_json)    rrrrrXrmrr rr r r rrhös
  rhc@s^eZdZUdZded<ded<ded<ded<ded<ded    <ded
<d d „Zed d„ƒZdS)ÚInsecureContentStatusz9
    Information about insecure content on the page.
    r8Úran_mixed_contentÚdisplayed_mixed_contentÚcontained_mixed_formÚran_content_with_cert_errorsÚ"displayed_content_with_cert_errorsr'Úran_insecure_content_styleÚ displayed_insecure_content_stylecCsXtƒ}|j|d<|j|d<|j|d<|j|d<|j|d<|j ¡|d<|j ¡|d<|S)NÚranMixedContentÚdisplayedMixedContentÚcontainedMixedFormÚranContentWithCertErrorsÚdisplayedContentWithCertErrorsÚranInsecureContentStyleÚdisplayedInsecureContentStyle)    rUrprqrrrsrtrurrvrVr r rrCs
 
 
 
 
zInsecureContentStatus.to_jsonc CsR|t|dƒt|dƒt|dƒt|dƒt|dƒt |d¡t |d¡dS)    Nrwrxryrzr{r|r})rprqrrrsrtrurv)r8r'rrr r rrNs
 
 
 
 
  ùzInsecureContentStatus.from_jsonN)rrrrrXrr rr r r rro)s
 roc@s,eZdZdZdZdZdd„Zedd„ƒZdS)    ÚCertificateErrorActionz“
    The action to take when a certificate error occurs. continue will continue processing the
    request and cancel will cancel the request.
    ÚcontinueÚcancelcCs|jSr r$rr r rrcszCertificateErrorAction.to_jsoncCs||ƒSr r rr r rrfsz CertificateErrorAction.from_jsonN)    rrrrÚCONTINUEZCANCELrr rr r r rr~[s r~z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]r
ccsddi}|V}dS)z3
    Disables tracking security state changes.
    ÚmethodzSecurity.disableNr ©Úcmd_dictrr r rÚdisableksÿr…ccsddi}|V}dS)z2
    Enables tracking security state changes.
    r‚zSecurity.enableNr rƒr r rÚenableusÿr†r8)Úignorer ccs"tƒ}||d<d|dœ}|V}dS)z¥
    Enable/disable whether all certificate errors should be ignored.
 
    **EXPERIMENTAL**
 
    :param ignore: If true, all certificate errors will be ignored.
    r‡z#Security.setIgnoreCertificateErrors©r‚ÚparamsN©rU)r‡r‰r„rr r rÚset_ignore_certificate_errorss
þr‹r    )Úevent_idÚactionr ccs.tƒ}||d<| ¡|d<d|dœ}|V}dS)zµ
    Handles a certificate error that fired a certificateError event.
 
    :param event_id: The ID of the event.
    :param action: The action to take on the certificate error.
    ÚeventIdrzSecurity.handleCertificateErrorrˆN)rUr)rŒrr‰r„rr r rÚhandle_certificate_error’s
 þr)Úoverrider ccs"tƒ}||d<d|dœ}|V}dS)a
    Enable/disable overriding certificate errors. If enabled, all certificate error events need to
    be handled by the DevTools client and should be answered with ``handleCertificateError`` commands.
 
    :param override: If true, certificate errors will be overridden.
    rz%Security.setOverrideCertificateErrorsrˆNrŠ)rr‰r„rr r rÚset_override_certificate_errors¦s     þr‘zSecurity.certificateErrorc@s>eZdZUdZded<ded<ded<edddœd    d
„ƒZd S) ÚCertificateErroraL
    There is a certificate error. If overriding certificate errors is enabled, then it should be
    handled with the ``handleCertificateError`` command. Note: this event does not fire if the
    certificate error has been allowed internally. Only one client per target should override
    certificate errors at the same time.
    r    rŒr.Ú
error_typeÚ request_urlrrcCs&|t|dƒt|dƒt|dƒdS)NrŽZ    errorTypeZ
requestURL)rŒr“r”)r    r.rr r rrÈs
 
 
 
ýzCertificateError.from_jsonN©rrrrrXr rr r r rr’¸s
r’z$Security.visibleSecurityStateChangedc@s.eZdZUdZded<edddœdd„ƒZdS)    ÚVisibleSecurityStateChangedzG
    **EXPERIMENTAL**
 
    The security state of the page changed.
    r_Úvisible_security_staterrcCs|t |d¡dS)NZvisibleSecurityState)r—)r_rrr r rrÜs ÿz%VisibleSecurityStateChanged.from_jsonNr•r r r rr–Ñs
r–zSecurity.securityStateChangedc@sNeZdZUdZded<ded<ded<ded    <d
ed <ed dd œdd„ƒZdS)ÚSecurityStateChangedz1
    The security state of the page changed.
    r'r`r8Úscheme_is_cryptographicz%typing.List[SecurityStateExplanation]Ú explanationsroÚinsecure_content_statusr@rjrrcCsP|t |d¡t|dƒdd„|dDƒt |d¡d|krHt|dƒnddS)    NrdZschemeIsCryptographiccSsg|]}t |¡‘qSr )rhrrEr r rrHúsz2SecurityStateChanged.from_json.<locals>.<listcomp>ršZinsecureContentStatusrj)r`r™ršr›rj)r'rr8ror.rr r rrõs 
 ûzSecurityStateChanged.from_jsonNr•r r r rr˜ãs
r˜)Ú
__future__rÚutilrrZ dataclassesrÚenumÚtypingÚrr    rÚEnumr"r'r-rYrZr_rhror~r…r†r‹rr‘r’r–r˜r r r rÚ<module>sD   k $21