OLD | NEW |
(Empty) | |
| 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. |
| 4 |
| 5 // Custom binding for the enterprise.platformKeys API. |
| 6 |
| 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 |
| 14 // wrapper. |
| 15 // The Token object holds the token id and the SubtleCrypto member. |
| 16 |
| 17 var binding = require('binding').Binding.create('enterprise.platformKeys'); |
| 18 var Token = require('enterprise.platformKeys.Token').Token; |
| 19 var internalAPI = require('enterprise.platformKeys.internalAPI'); |
| 20 |
| 21 binding.registerCustomHook(function(api) { |
| 22 var apiFunctions = api.apiFunctions; |
| 23 |
| 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); })); |
| 28 }); |
| 29 }); |
| 30 }); |
| 31 |
| 32 exports.binding = binding.generate(); |
OLD | NEW |