cygprofile: increase timeouts to allow showing web contents
[chromium-blink-merge.git] / components / gcm_driver / crypto / proto / gcm_encryption_data.proto
blob4c6ad49bbb7ab4f65bd4ef4b2102a46c36f5fb29
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 syntax = "proto2";
7 option optimize_for = LITE_RUNTIME;
9 package gcm;
11 // Stores a public/private key-pair.
12 // Next tag: 3
13 message KeyPair {
14   // The type of key used for key agreement. Currently only the ECDH key
15   // agreement scheme is supported, using Curve 25519.
16   enum KeyType {
17     ECDH_CURVE_25519 = 0;
18   }
20   required KeyType type = 1;
22   // The private key matching the size requirements of |type|.
23   required bytes private_key = 2;
25   // The public key matching the size requirements of |type|.
26   required bytes public_key = 3;
29 // Stores a vector of public/private key-pairs associated with an app id.
31 // In the current implementation, each app id will have a single encryption key-
32 // pair associated with it at most. The message allows for multiple key pairs
33 // in case we need to force-cycle all keys, allowing the old keys to remain
34 // valid for a period of time enabling the web app to update.
36 // Next tag: 2 
37 message EncryptionData {
38   // The app id to whom this encryption data belongs.
39   required string app_id = 1;
41   // The actual public/private key-pairs.
42   repeated KeyPair keys = 2;