| // Copyright 2014 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Internal API for platform keys and certificate management. |
| [ platforms = ("chromeos", "lacros"), |
| implemented_in = "chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.h" ] |
| namespace enterprise.platformKeysInternal { |
| dictionary Hash { |
| DOMString name; |
| }; |
| |
| // For more information about the RSA key generation parameters, please refer |
| // to: https://www.w3.org/TR/WebCryptoAPI/#RsaHashedKeyGenParams-dictionary |
| // For more information about the ECDSA key generation parameters, please |
| // refer to: https://www.w3.org/TR/WebCryptoAPI/#dfn-EcdsaParams |
| // Note: |hash| is not used by generateKey() but is added to completely |
| // mirror WebCrypto in using RsaHashedKeyAlgorithm to be able to wrap all |
| // parameters in one structure. |
| dictionary Algorithm { |
| // Provided for all algorithms. |
| DOMString name; |
| |
| // Provided in case of RSASSA-PKCS1-v1_5. |
| long? modulusLength; |
| ArrayBuffer? publicExponent; |
| Hash? hash; |
| |
| // Provided in case of ECDSA. |
| DOMString? namedCurve; |
| }; |
| |
| // Invoked by <code>getTokens</code>. |
| // |tokenIds| The list of IDs of the avialable Tokens. |
| callback GetTokensCallback = void(DOMString[] tokenIds); |
| |
| // Invoked by <code>generateKey</code>. |
| // |publicKey| The Subject Public Key Info (see X.509) of the generated key |
| // in DER encoding. |
| callback GenerateKeyCallback = void(ArrayBuffer publicKey); |
| |
| interface Functions { |
| // Internal version of entrprise.platformKeys.getTokens. Returns a list of |
| // token IDs instead of token objects. |
| static void getTokens(GetTokensCallback callback); |
| |
| // Internal version of Token.generateKey, currently supporting only |
| // RSASSA-PKCS1-v1_5 and ECDSA. |
| // |tokenId| The id of a Token returned by |getTokens|. |
| // |algorithm| The algorithm parameters as specified by WebCrypto. |
| // |softwareBacked| Whether the key operations should be executed in |
| // software. |
| // |callback| Called back with the Subject Public Key Info of the generated |
| // key. |
| static void generateKey(DOMString tokenId, |
| Algorithm algorithm, |
| boolean softwareBacked, |
| GenerateKeyCallback callback); |
| }; |
| }; |