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.
7 option optimize_for = LITE_RUNTIME;
11 // Stores a public/private key-pair.
14 // The type of key used for key agreement. Currently only the ECDH key
15 // agreement scheme is supported, using Curve 25519.
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.
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;