Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / common / extensions / api / enterprise_platform_keys_internal.idl
blob7d35f90f43710962b3f2b4559ac9c013865039d0
1 // Copyright 2014 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.
5 // Internal API for platform keys and certificate management.
6 [ platforms = ("chromeos"),
7 implemented_in = "chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.h" ]
8 namespace enterprise.platformKeysInternal {
9 // Invoked by <code>getTokens</code>.
10 // |tokenIds| The list of IDs of the avialable Tokens.
11 callback GetTokensCallback = void(DOMString[] tokenIds);
13 // Invoked by <code>generateKey</code>.
14 // |publicKey| The Subject Public Key Info (see X.509) of the generated key
15 // in DER encoding.
16 callback GenerateKeyCallback = void(ArrayBuffer publicKey);
18 // Invoked by <code>sign</code>.
19 // |signature| The signature, a octet string.
20 callback SignCallback = void(ArrayBuffer signature);
22 interface Functions {
23 // Internal version of entrprise.platformKeys.getTokens. Returns a list of
24 // token IDs instead of token objects.
25 static void getTokens(GetTokensCallback callback);
27 // Internal version of Token.generateKey, currently supporting only
28 // RSASSA-PKCS1-v1_5.
29 // |tokenId| The id of a Token returned by |getTokens|.
30 // |modulusLength| The length, in bits, of the RSA modulus.
31 // |callback| Called back with the Subject Public Key Info of the generated
32 // key.
33 static void generateKey(DOMString tokenId,
34 long modulusLength,
35 GenerateKeyCallback callback);