1b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom/*
2b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * Copyright (C) 2011 The Android Open Source Project
3b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom *
4b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * Licensed under the Apache License, Version 2.0 (the "License");
5b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * you may not use this file except in compliance with the License.
6b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * You may obtain a copy of the License at
7b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom *
8b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom *      http://www.apache.org/licenses/LICENSE-2.0
9b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom *
10b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * Unless required by applicable law or agreed to in writing, software
11b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * distributed under the License is distributed on an "AS IS" BASIS,
12b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * See the License for the specific language governing permissions and
14b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * limitations under the License.
15b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom */
16b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrompackage android.security;
17b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom
18b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom/**
19b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * Caller is required to ensure that {@link KeyStore#unlock
20b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * KeyStore.unlock} was successful.
21b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom *
22b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom * @hide
23b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom */
24b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrominterface IKeyChainService {
252627d53f65be672e9a27f735975de1bf3aebfec1Brian Carlstrom    // APIs used by KeyChain
265423e68d5dbe048ec6f042cce52a33f94184e9fbKenny Root    String requestPrivateKey(String alias);
27ab8b84ad3847788d83da557606aa27d4102e6b52Fred Quintana    byte[] getCertificate(String alias);
282627d53f65be672e9a27f735975de1bf3aebfec1Brian Carlstrom
292627d53f65be672e9a27f735975de1bf3aebfec1Brian Carlstrom    // APIs used by CertInstaller
302627d53f65be672e9a27f735975de1bf3aebfec1Brian Carlstrom    void installCaCertificate(in byte[] caCertificate);
312627d53f65be672e9a27f735975de1bf3aebfec1Brian Carlstrom
322627d53f65be672e9a27f735975de1bf3aebfec1Brian Carlstrom    // APIs used by Settings
336da00334478df64921b68fcbb45c9d1eef6f35bdBrian Carlstrom    boolean deleteCaCertificate(String alias);
342627d53f65be672e9a27f735975de1bf3aebfec1Brian Carlstrom    boolean reset();
35ab8b84ad3847788d83da557606aa27d4102e6b52Fred Quintana
36ab8b84ad3847788d83da557606aa27d4102e6b52Fred Quintana    // APIs used by KeyChainActivity
37ab8b84ad3847788d83da557606aa27d4102e6b52Fred Quintana    void setGrant(int uid, String alias, boolean value);
38ab8b84ad3847788d83da557606aa27d4102e6b52Fred Quintana    boolean hasGrant(int uid, String alias);
39b9a07c18e678da35b4c2a618b315fa174a21e818Brian Carlstrom}
40