IRemoteAndroidKeyStore.aidl revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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
5package org.chromium.net;
6
7import org.chromium.net.IRemoteAndroidKeyStoreCallbacks;
8
9/**
10 * Interface for communication with an Android KeyStore in another process.
11 */
12interface IRemoteAndroidKeyStore {
13    // Remote calls for SSlClientCertificateRequest - these allow retrieving
14    // the alias of the certificate to be used, its encoded chain and a handle
15    // for identifying a private key in the remote process.
16    String getClientCertificateAlias();
17    byte[] getEncodedCertificateChain(in String alias);
18    int getPrivateKeyHandle(in String alias);
19
20    // Registers callbacks for service->client communication.
21    void setClientCallbacks(IRemoteAndroidKeyStoreCallbacks callbacks);
22
23    // Remote calls for AndroidKeyStore - these functions are performing operations
24    // with a PrivateKey in the remote process using the handle provided by
25    // |getPrivateKeyHandle|.
26    byte[] getRSAKeyModulus(in int handle);
27    byte[] getPrivateKeyEncodedBytes(in int handle);
28    byte[] getDSAKeyParamQ(in int handle);
29    byte[] getECKeyOrder(in int handle);
30    byte[] rawSignDigestWithPrivateKey(in int handle, in byte[] message);
31    int getPrivateKeyType(in int handle);
32    void releaseKey(in int handle);
33}
34