152886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin/*
252886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * Copyright (C) 2015 The Android Open Source Project
352886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin *
452886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * Licensed under the Apache License, Version 2.0 (the "License");
552886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * you may not use this file except in compliance with the License.
652886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * You may obtain a copy of the License at
752886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin *
852886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin *      http://www.apache.org/licenses/LICENSE-2.0
952886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin *
1052886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * Unless required by applicable law or agreed to in writing, software
1152886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * distributed under the License is distributed on an "AS IS" BASIS,
1252886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1352886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * See the License for the specific language governing permissions and
1452886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * limitations under the License.
1552886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin */
1652886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin
17dcdaf87ed0aa99073638bcfe645949f130f0c7adAlex Klyubinpackage android.security.keystore;
18dcdaf87ed0aa99073638bcfe645949f130f0c7adAlex Klyubin
19dcdaf87ed0aa99073638bcfe645949f130f0c7adAlex Klyubinimport android.security.KeyStore;
2052886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin
2152886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin/**
2252886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * Cryptographic operation backed by {@link KeyStore}.
2352886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin *
2452886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin * @hide
2552886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin */
2652886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubinpublic interface KeyStoreCryptoOperation {
2752886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin    /**
2852886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin     * Gets the KeyStore operation handle of this crypto operation.
2952886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin     *
309cfc428a244c8b2c7a404a430b1b3991b1950c62Alex Klyubin     * @return handle or {@code 0} if the KeyStore operation is not in progress.
3152886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin     */
329cfc428a244c8b2c7a404a430b1b3991b1950c62Alex Klyubin    long getOperationHandle();
3352886ca77d4d93f6faf5d2a6836625a421e32403Alex Klyubin}
34