| // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // Provides wire protocol for signed password changes from |
| // the cloud for Chrome OS accounts subject to remote management. |
| // |
| // The data in this file will be shared in Chrome, Chrome OS (cryptohome), |
| // and on servers. Ensure all parties are aware when making changes. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package ac.chrome.managedaccounts.account; |
| |
| // The secret currently assumes a password-equivalent key and a |
| // revision, to avoid rollbacks. This secret should be serialized |
| // and signed by a pre-negotiated key to authorize updates from the |
| // server to the host OS. |
| message Secret { |
| optional int64 revision = 1; |
| optional bytes secret = 2; |
| // In the future, a type field will be added to allow encrypted secrets |
| // and different secret types. |
| } |
| |
| // This is an example format if this were sent on the wire. |
| // It is assumed that neither Secret or SignedSecret will ever be sent |
| // on the wire, but only reconstructed from source data. |
| message SignedSecret { |
| optional bytes serialized_secret = 1; |
| optional bytes signature = 2; |
| } |