OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 syntax = "proto2"; | 5 syntax = "proto2"; |
6 | 6 |
7 option optimize_for = LITE_RUNTIME; | 7 option optimize_for = LITE_RUNTIME; |
8 | 8 |
9 package enterprise_management; | 9 package enterprise_management; |
10 | 10 |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 | 165 |
166 // If this fetch is due to a policy invalidation, this field contains the | 166 // If this fetch is due to a policy invalidation, this field contains the |
167 // version provided with the invalidation. The server interprets this value | 167 // version provided with the invalidation. The server interprets this value |
168 // and the value of invalidation_payload to fetch the up-to-date policy. | 168 // and the value of invalidation_payload to fetch the up-to-date policy. |
169 optional int64 invalidation_version = 7; | 169 optional int64 invalidation_version = 7; |
170 | 170 |
171 // If this fetch is due to a policy invalidation, this field contains the | 171 // If this fetch is due to a policy invalidation, this field contains the |
172 // payload delivered with the invalidation. The server interprets this value | 172 // payload delivered with the invalidation. The server interprets this value |
173 // and the value of invalidation_version to fetch the up-to-date policy. | 173 // and the value of invalidation_version to fetch the up-to-date policy. |
174 optional bytes invalidation_payload = 8; | 174 optional bytes invalidation_payload = 8; |
| 175 |
| 176 // Hash string for the chrome policy verification public key which is embedded |
| 177 // into Chrome binary. Matching private key will be used by the server |
| 178 // to sign per-domain policy keys during key rotation. If server does not |
| 179 // have the key which matches this hash string, that could indicate malicious |
| 180 // or out-of-date Chrome client. |
| 181 optional string verification_key_hash = 9; |
175 } | 182 } |
176 | 183 |
177 // This message is included in serialized form in PolicyFetchResponse | 184 // This message is included in serialized form in PolicyFetchResponse |
178 // below. It may also be signed, with the signature being created for | 185 // below. It may also be signed, with the signature being created for |
179 // the serialized form. | 186 // the serialized form. |
180 message PolicyData { | 187 message PolicyData { |
181 // See PolicyFetchRequest.policy_type. | 188 // See PolicyFetchRequest.policy_type. |
182 optional string policy_type = 1; | 189 optional string policy_type = 1; |
183 | 190 |
184 // [timestamp] is milliseconds since Epoch in UTC timezone. It is | 191 // [timestamp] is milliseconds since Epoch in UTC timezone. It is |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 optional bytes policy_data_signature = 4; | 283 optional bytes policy_data_signature = 4; |
277 | 284 |
278 // If the public key has been rotated on the server, the new public | 285 // If the public key has been rotated on the server, the new public |
279 // key is sent here. It is already used for |policy_data_signature| | 286 // key is sent here. It is already used for |policy_data_signature| |
280 // above, whereas |new_public_key_signature| is created using the | 287 // above, whereas |new_public_key_signature| is created using the |
281 // old key (so the client can trust the new key). If this is the | 288 // old key (so the client can trust the new key). If this is the |
282 // first time when the client requests policies (so it doesn't have | 289 // first time when the client requests policies (so it doesn't have |
283 // on old public key), then |new_public_key_signature| is empty. | 290 // on old public key), then |new_public_key_signature| is empty. |
284 optional bytes new_public_key = 5; | 291 optional bytes new_public_key = 5; |
285 optional bytes new_public_key_signature = 6; | 292 optional bytes new_public_key_signature = 6; |
| 293 |
| 294 // If new_public_key is specified, this field contains a signature |
| 295 // of that key, signed using a key only available to DMServer. |
| 296 // The public key portion of this well-known key is embedded into the |
| 297 // Chrome binary. The hash of that embedded key is passed to DMServer |
| 298 // as verification_key_hash field in PolicyFetchRequest. DMServer will |
| 299 // pick a private key on the server which matches the hash (matches public |
| 300 // key on the client). If DMServer is unable to find matching key, it will |
| 301 // return an error instead of policy data. |
| 302 // In case hash was not specified, DMServer will leave verification signature |
| 303 // field empty (legacy behavior). |
| 304 // In addition to the checks between new_public_key |
| 305 // and new_public_key_signature described above, Chrome also verifies |
| 306 // new_public_key with the embedded public key and |
| 307 // new_public_key_verification_signature. |
| 308 optional bytes new_public_key_verification_signature = 7; |
| 309 |
| 310 // Server-provided identifier of the fetched policy. This is to be used |
| 311 // by the client when requesting Policy Posture assertion through an API |
| 312 // call or SAML flow. |
| 313 optional bytes policy_token = 8; |
286 } | 314 } |
287 | 315 |
288 // Request from device to server for reading policies. | 316 // Request from device to server for reading policies. |
289 message DevicePolicyRequest { | 317 message DevicePolicyRequest { |
290 // The policy fetch request. If this field exists, the request must | 318 // The policy fetch request. If this field exists, the request must |
291 // comes from a non-TT client. The repeated field allows client to | 319 // comes from a non-TT client. The repeated field allows client to |
292 // request multiple policies for better performance. | 320 // request multiple policies for better performance. |
293 repeated PolicyFetchRequest request = 3; | 321 repeated PolicyFetchRequest request = 3; |
294 } | 322 } |
295 | 323 |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 | 649 |
622 // Auto-enrollment detection response. | 650 // Auto-enrollment detection response. |
623 optional DeviceAutoEnrollmentResponse auto_enrollment_response = 8; | 651 optional DeviceAutoEnrollmentResponse auto_enrollment_response = 8; |
624 | 652 |
625 // EMCert upload response. | 653 // EMCert upload response. |
626 optional DeviceCertUploadResponse cert_upload_response = 9; | 654 optional DeviceCertUploadResponse cert_upload_response = 9; |
627 | 655 |
628 // Response to OAuth2 authorization code request. | 656 // Response to OAuth2 authorization code request. |
629 optional DeviceServiceApiAccessResponse service_api_access_response = 10; | 657 optional DeviceServiceApiAccessResponse service_api_access_response = 10; |
630 } | 658 } |
OLD | NEW |