| // Copyright 2019 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module chrome.mojom; |
| |
| // The shared encryption key for a single trusted vault. |
| struct TrustedVaultKey { |
| int32 version; |
| array<uint8> bytes; |
| }; |
| |
| // API exposed by the browser process to the renderer process, such that the |
| // renderer can interact with the encryption state of trusted vault clients |
| // (see //components/trusted_vault/README.md). Exposed to allowed origins only. |
| interface TrustedVaultEncryptionKeysExtension { |
| // Provides encryption keys for any trusted vault to the browser process. |
| // `encryption_keys` is a map of trusted vault name to a set of keys for that |
| // vault. |
| [EnableIfNot=is_android] |
| SetEncryptionKeys(string gaia_id, map<string, |
| array<TrustedVaultKey>> encryption_keys) => (); |
| |
| // Registers a new trusted recovery method that can be used by other clients |
| // to retrieve encryption keys for the sync trusted vault. `method_type_hint` |
| // is an opaque value provided server-side that may be used for related |
| // future interactions with the server. |
| AddTrustedRecoveryMethod(string gaia_id, array<uint8> public_key, |
| int32 method_type_hint) => (); |
| }; |