| // 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; |
| |
| // 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. |
| interface PlatformVerification { |
| ChallengePlatform(string service_id, string challenge) => |
| (bool success, |
| string signed_data, |
| string signed_data_signature, |
| string platform_key_certificate); |
| }; |