xref: /aosp_15_r20/system/security/keystore-engine/methods.h (revision e1997b9af69e3155ead6e072d106a0077849ffba)
1*e1997b9aSAndroid Build Coastguard Worker /*
2*e1997b9aSAndroid Build Coastguard Worker  * Copyright 2013 The Android Open Source Project
3*e1997b9aSAndroid Build Coastguard Worker  *
4*e1997b9aSAndroid Build Coastguard Worker  * Redistribution and use in source and binary forms, with or without
5*e1997b9aSAndroid Build Coastguard Worker  * modification, are permitted provided that the following conditions
6*e1997b9aSAndroid Build Coastguard Worker  * are met:
7*e1997b9aSAndroid Build Coastguard Worker  * 1. Redistributions of source code must retain the above copyright
8*e1997b9aSAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer.
9*e1997b9aSAndroid Build Coastguard Worker  * 2. Redistributions in binary form must reproduce the above copyright
10*e1997b9aSAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer in the
11*e1997b9aSAndroid Build Coastguard Worker  *    documentation and/or other materials provided with the distribution.
12*e1997b9aSAndroid Build Coastguard Worker  *
13*e1997b9aSAndroid Build Coastguard Worker  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
14*e1997b9aSAndroid Build Coastguard Worker  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15*e1997b9aSAndroid Build Coastguard Worker  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16*e1997b9aSAndroid Build Coastguard Worker  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
17*e1997b9aSAndroid Build Coastguard Worker  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18*e1997b9aSAndroid Build Coastguard Worker  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19*e1997b9aSAndroid Build Coastguard Worker  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20*e1997b9aSAndroid Build Coastguard Worker  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21*e1997b9aSAndroid Build Coastguard Worker  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22*e1997b9aSAndroid Build Coastguard Worker  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23*e1997b9aSAndroid Build Coastguard Worker  *
24*e1997b9aSAndroid Build Coastguard Worker  */
25*e1997b9aSAndroid Build Coastguard Worker 
26*e1997b9aSAndroid Build Coastguard Worker /* For ENGINE method registration purposes. */
27*e1997b9aSAndroid Build Coastguard Worker extern const char* kKeystoreEngineId;
28*e1997b9aSAndroid Build Coastguard Worker 
29*e1997b9aSAndroid Build Coastguard Worker extern int dsa_key_handle;
30*e1997b9aSAndroid Build Coastguard Worker extern int rsa_key_handle;
31*e1997b9aSAndroid Build Coastguard Worker 
32*e1997b9aSAndroid Build Coastguard Worker /* Keyhandles for ENGINE metadata */
33*e1997b9aSAndroid Build Coastguard Worker int keyhandle_new(void*, void*, CRYPTO_EX_DATA* ad, int idx, long, void*);
34*e1997b9aSAndroid Build Coastguard Worker void keyhandle_free(void *, void *ptr, CRYPTO_EX_DATA*, int, long, void*);
35*e1997b9aSAndroid Build Coastguard Worker int keyhandle_dup(CRYPTO_EX_DATA* to, CRYPTO_EX_DATA*, void *ptrRef, int idx, long, void *);
36*e1997b9aSAndroid Build Coastguard Worker 
37*e1997b9aSAndroid Build Coastguard Worker /* For EC_EX_DATA stuff */
38*e1997b9aSAndroid Build Coastguard Worker void *ex_data_dup(void *);
39*e1997b9aSAndroid Build Coastguard Worker void ex_data_free(void *);
40*e1997b9aSAndroid Build Coastguard Worker void ex_data_clear_free(void *);
41*e1997b9aSAndroid Build Coastguard Worker 
42*e1997b9aSAndroid Build Coastguard Worker /* ECDSA */
43*e1997b9aSAndroid Build Coastguard Worker int ecdsa_register(ENGINE *);
44*e1997b9aSAndroid Build Coastguard Worker int ecdsa_pkey_setup(ENGINE *, EVP_PKEY*, const char*);
45*e1997b9aSAndroid Build Coastguard Worker 
46*e1997b9aSAndroid Build Coastguard Worker /* DSA */
47*e1997b9aSAndroid Build Coastguard Worker int dsa_register(ENGINE *);
48*e1997b9aSAndroid Build Coastguard Worker int dsa_pkey_setup(ENGINE *, EVP_PKEY*, const char*);
49*e1997b9aSAndroid Build Coastguard Worker 
50*e1997b9aSAndroid Build Coastguard Worker /* RSA */
51*e1997b9aSAndroid Build Coastguard Worker int rsa_register(ENGINE *);
52*e1997b9aSAndroid Build Coastguard Worker int rsa_pkey_setup(ENGINE *, EVP_PKEY*, const char*);
53