Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(304)

Side by Side Diff: components/policy/proto/device_management_backend.proto

Issue 116273002: Added support for signed policy blobs on desktop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix for ios. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698