// Copyright 2015 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. // TODO(xhwang): Move this out of media if it is needed anywhere else. module media.mojom; interface PlatformVerification { // Allows authorized services to verify that the underlying platform is // trusted. An example of a trusted platform is a Chrome OS device in // verified boot mode. This can be used for protected content playback. // // Input parameters: // - |service_id|: the service ID for the |challenge|. // - |challenge|: the challenge data. // // Output parameters: // - |success|: whether the platform is successfully verified. If true/false // the following 3 parameters should be non-empty/empty. // - |signed_data|: the data signed by the platform. // - |signed_data_signature|: the signature of the signed data block. // - |platform_key_certificate|: the device specific certificate for the // requested service. ChallengePlatform(string service_id, string challenge) => (bool success, string signed_data, string signed_data_signature, string platform_key_certificate); // Requests a particular version of the device's Storage Id (or latest // available version if 0 is specified). This returns the requested // |storage_id|, which may be empty if it is not supported by the platform. GetStorageId(uint32 version) => (uint32 version, array storage_id); };