Index: media/mojo/interfaces/platform_verification.mojom |
diff --git a/media/mojo/interfaces/platform_verification.mojom b/media/mojo/interfaces/platform_verification.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e52ac952ff2dff8b47fbff8490e47e8aeb33978c |
--- /dev/null |
+++ b/media/mojo/interfaces/platform_verification.mojom |
@@ -0,0 +1,29 @@ |
+// 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.interfaces; |
+ |
+// 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); |
+}; |