OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // Client side phishing and malware detection request and response | 5 // Client side phishing and malware detection request and response |
6 // protocol buffers. Those protocol messages should be kept in sync | 6 // protocol buffers. Those protocol messages should be kept in sync |
7 // with the server implementation. | 7 // with the server implementation. |
8 // | 8 // |
9 // If you want to change this protocol definition or you have questions | 9 // If you want to change this protocol definition or you have questions |
10 // regarding its format please contact chrome-anti-phishing@googlegroups.com. | 10 // regarding its format please contact chrome-anti-phishing@googlegroups.com. |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 message CertificateChain { | 201 message CertificateChain { |
202 // A single link in the chain. | 202 // A single link in the chain. |
203 message Element { | 203 message Element { |
204 // DER-encoded X.509 representation of the certificate. | 204 // DER-encoded X.509 representation of the certificate. |
205 optional bytes certificate = 1; | 205 optional bytes certificate = 1; |
206 // Fields 2 - 7 are only used on the server. | 206 // Fields 2 - 7 are only used on the server. |
207 } | 207 } |
208 repeated Element element = 1; | 208 repeated Element element = 1; |
209 } | 209 } |
210 | 210 |
| 211 // This is an OS X only message to report extended attribute informations. |
| 212 // Extended attributes on OS X are used for various security mechanisms, |
| 213 // which makes them interesting to Chrome. |
| 214 message ExtendedAttr { |
| 215 // This is the name of the extended attribute. |
| 216 required string key = 1; |
| 217 // This is the value of the extended attribute. |
| 218 optional bytes value = 2; |
| 219 } |
| 220 |
211 message SignatureInfo { | 221 message SignatureInfo { |
212 // All certificate chains for each of the binary's signers. Multiple chains | 222 // All certificate chains for each of the binary's signers. Multiple chains |
213 // may be present if the binary or any certificate has multiple signers. | 223 // may be present if the binary or any certificate has multiple signers. |
214 // Absence of certificate chains does not imply that the binary is not | 224 // Absence of certificate chains does not imply that the binary is not |
215 // signed (in that case, SignedData blobs extracted from the binary may be | 225 // signed (in that case, SignedData blobs extracted from the binary may be |
216 // preset), but does mean that trust has not been verified. | 226 // preset), but does mean that trust has not been verified. |
217 repeated CertificateChain certificate_chain = 1; | 227 repeated CertificateChain certificate_chain = 1; |
218 | 228 |
219 // True if the signature was trusted on the client. | 229 // True if the signature was trusted on the client. |
220 optional bool trusted = 2; | 230 optional bool trusted = 2; |
221 | 231 |
222 // On Windows, PKCS#7 SignedData blobs extracted from a portable executable | 232 // On Windows, PKCS#7 SignedData blobs extracted from a portable executable |
223 // image's attribute certificate table. The presence of these does not imply | 233 // image's attribute certificate table. The presence of these does not imply |
224 // that the signatures were deemed trusted by the client. | 234 // that the signatures were deemed trusted by the client. |
225 // On Mac, this is the code signature blob referenced by the | 235 // On Mac, this is the code signature blob referenced by the |
226 // LC_CODE_SIGNATURE load command. | 236 // LC_CODE_SIGNATURE load command. |
227 repeated bytes signed_data = 3; | 237 repeated bytes signed_data = 3; |
| 238 |
| 239 // On OS X, code signing data can be contained in the extended attributes of |
| 240 // a file. As Gatekeeper respects this signature, we look for it and collect |
| 241 // it. |
| 242 repeated ExtendedAttr xattr = 4; |
228 } | 243 } |
229 | 244 |
230 // This field will only be set if the binary is signed. | 245 // This field will only be set if the binary is signed. |
231 optional SignatureInfo signature = 5; | 246 optional SignatureInfo signature = 5; |
232 | 247 |
233 // True if the download was user initiated. | 248 // True if the download was user initiated. |
234 optional bool user_initiated = 6; | 249 optional bool user_initiated = 6; |
235 | 250 |
236 // Fields 7 and 8 are only used on the server. | 251 // Fields 7 and 8 are only used on the server. |
237 | 252 |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 WEAK_LEGACY_OBSOLETE = 2; | 429 WEAK_LEGACY_OBSOLETE = 2; |
415 CHANGED = 3; | 430 CHANGED = 3; |
416 UNTRUSTED_UNKNOWN_VALUE = 4; | 431 UNTRUSTED_UNKNOWN_VALUE = 4; |
417 } | 432 } |
418 | 433 |
419 optional string path = 1; | 434 optional string path = 1; |
420 optional string atomic_value = 2; | 435 optional string atomic_value = 2; |
421 repeated string split_key = 3; | 436 repeated string split_key = 3; |
422 optional ValueState value_state = 4; | 437 optional ValueState value_state = 4; |
423 } | 438 } |
| 439 |
424 message BinaryIntegrityIncident { | 440 message BinaryIntegrityIncident { |
425 optional string file_basename = 1; | 441 optional string file_basename = 1; |
426 optional ClientDownloadRequest.SignatureInfo signature = 2; | 442 optional ClientDownloadRequest.SignatureInfo signature = 2; |
| 443 optional ClientDownloadRequest.ImageHeaders image_headers = 3; |
| 444 optional int32 sec_error = 4; |
| 445 |
| 446 message ContainedFile { |
| 447 optional string relative_path = 1; |
| 448 optional ClientDownloadRequest.SignatureInfo signature = 2; |
| 449 optional ClientDownloadRequest.ImageHeaders image_headers = 3; |
| 450 } |
| 451 repeated ContainedFile contained_file = 5; |
427 } | 452 } |
| 453 |
428 message BlacklistLoadIncident { | 454 message BlacklistLoadIncident { |
429 optional string path = 1; | 455 optional string path = 1; |
430 optional ClientDownloadRequest.Digests digest = 2; | 456 optional ClientDownloadRequest.Digests digest = 2; |
431 optional string version = 3; | 457 optional string version = 3; |
432 optional bool blacklist_initialized = 4; | 458 optional bool blacklist_initialized = 4; |
433 optional ClientDownloadRequest.SignatureInfo signature = 5; | 459 optional ClientDownloadRequest.SignatureInfo signature = 5; |
434 optional ClientDownloadRequest.ImageHeaders image_headers = 6; | 460 optional ClientDownloadRequest.ImageHeaders image_headers = 6; |
435 } | 461 } |
436 message VariationsSeedSignatureIncident { | 462 message VariationsSeedSignatureIncident { |
437 optional string variations_seed_signature = 1; | 463 optional string variations_seed_signature = 1; |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
601 message EnvironmentRequest { optional int32 dll_index = 1; } | 627 message EnvironmentRequest { optional int32 dll_index = 1; } |
602 | 628 |
603 repeated EnvironmentRequest environment_requests = 3; | 629 repeated EnvironmentRequest environment_requests = 3; |
604 } | 630 } |
605 | 631 |
606 message DownloadMetadata { | 632 message DownloadMetadata { |
607 optional uint32 download_id = 1; | 633 optional uint32 download_id = 1; |
608 | 634 |
609 optional ClientIncidentReport.DownloadDetails download = 2; | 635 optional ClientIncidentReport.DownloadDetails download = 2; |
610 } | 636 } |
OLD | NEW |