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 // Custom binding for the enterprise.platformKeys API.
7 // The platformKeys API consists of two major parts:
8 // - the certificate management.
9 // - the key generation and crypto operations and
10 // The former is implemented without custom binding as static functions.
11 // The latter is exposed by implementing WebCrypto's SubtleCrypto interface.
12 // The internal API provides the key and crypto operations through static
13 // functions expecting token IDs and this custom binding adds the SubtleCrypto
15 // The Token object holds the token id and the SubtleCrypto member.
17 var binding
= require('binding').Binding
.create('enterprise.platformKeys');
18 var Token
= require('enterprise.platformKeys.Token').Token
;
19 var internalAPI
= require('enterprise.platformKeys.internalAPI');
21 binding
.registerCustomHook(function(api
) {
22 var apiFunctions
= api
.apiFunctions
;
24 var ret
= apiFunctions
.setHandleRequest('getTokens', function(callback
) {
25 internalAPI
.getTokens(function(tokenIds
) {
26 callback($Array
.map(tokenIds
,
27 function(tokenId
) { return new Token(tokenId
); }));
32 exports
.binding
= binding
.generate();