OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 optional string referrer = 4; | 117 optional string referrer = 4; |
118 | 118 |
119 // TODO(noelutz): add the transition type? | 119 // TODO(noelutz): add the transition type? |
120 } | 120 } |
121 | 121 |
122 // This repeated field will store all the redirects as well as the | 122 // This repeated field will store all the redirects as well as the |
123 // final URLs for the top-level tab URL (i.e., the URL that | 123 // final URLs for the top-level tab URL (i.e., the URL that |
124 // triggered the download) as well as for the download URL itself. | 124 // triggered the download) as well as for the download URL itself. |
125 repeated Resource resources = 4; | 125 repeated Resource resources = 4; |
126 | 126 |
| 127 // A trust chain of certificates. Each chain begins with the signing |
| 128 // certificate of the binary, and ends with a self-signed certificate, |
| 129 // typically from a trusted root CA. This structure is analogous to |
| 130 // CERT_CHAIN_CONTEXT on Windows. |
| 131 message CertificateChain { |
| 132 // A single link in the chain. |
| 133 message Element { |
| 134 // DER-encoded X.509 representation of the certificate. |
| 135 optional bytes certificate = 1; |
| 136 } |
| 137 repeated Element element = 1; |
| 138 } |
| 139 |
127 message SignatureInfo { | 140 message SignatureInfo { |
128 // The full DER-encoded X.509 certificate extracted from the binary. | 141 // All of the certificate chains for the binary's signing certificate. |
129 // If this field is not present, it means the binary was unsigned. | 142 // If no chains are present, the binary is not signed. Multiple chains |
130 optional bytes certificate_contents = 1; | 143 // may be present if any certificate has multiple signers. |
| 144 repeated CertificateChain certificate_chain = 1; |
131 | 145 |
132 // True if the signature was trusted on the client. | 146 // True if the signature was trusted on the client. |
133 optional bool trusted = 2; | 147 optional bool trusted = 2; |
134 } | 148 } |
135 | 149 |
136 // This field will only be set if the binary is signed. | 150 // This field will only be set if the binary is signed. |
137 optional SignatureInfo signature = 5; | 151 optional SignatureInfo signature = 5; |
138 | 152 |
139 // True if the download was user initiated. | 153 // True if the download was user initiated. |
140 optional bool user_initiated = 6; | 154 optional bool user_initiated = 6; |
141 } | 155 } |
142 | 156 |
143 message ClientDownloadResponse { | 157 message ClientDownloadResponse { |
144 enum Verdict { | 158 enum Verdict { |
145 // Download is considered safe. | 159 // Download is considered safe. |
146 SAFE = 0; | 160 SAFE = 0; |
147 // Download is considered dangerous. Chrome should show a warning to the | 161 // Download is considered dangerous. Chrome should show a warning to the |
148 // user. | 162 // user. |
149 DANGEROUS = 1; | 163 DANGEROUS = 1; |
150 } | 164 } |
151 required Verdict verdict = 1; | 165 required Verdict verdict = 1; |
152 } | 166 } |
OLD | NEW |