1 /* 2 * Copyright (c) 2021-2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef HKS_CONFIG_H 17 #define HKS_CONFIG_H 18 19 #define HKS_SUPPORT_POSIX 20 21 #define HKS_LOG_ENGINE_HILOG_MODULE_SCY 22 23 /* AES */ 24 #define HKS_SUPPORT_AES_C 25 #define HKS_SUPPORT_AES_GENERATE_KEY 26 #define HKS_SUPPORT_AES_CBC_NOPADDING 27 #define HKS_SUPPORT_AES_CBC_PKCS7 28 #define HKS_SUPPORT_AES_GCM 29 30 /* BN */ 31 #define HKS_SUPPORT_BN_C 32 33 /* HASH */ 34 #define HKS_SUPPORT_HASH_C 35 #define HKS_SUPPORT_HASH_SHA256 36 #define HKS_SUPPORT_HASH_SHA384 37 #define HKS_SUPPORT_HASH_SHA512 38 39 /* HMAC */ 40 #define HKS_SUPPORT_HMAC_C 41 #define HKS_SUPPORT_HMAC_SHA256 42 #define HKS_SUPPORT_HMAC_SHA384 43 #define HKS_SUPPORT_HMAC_SHA512 44 45 /* KDF */ 46 #define HKS_SUPPORT_KDF_C 47 #define HKS_SUPPORT_KDF_PBKDF2 48 #define HKS_SUPPORT_KDF_HKDF 49 50 /* X25519 */ 51 #define HKS_SUPPORT_X25519_C 52 #define HKS_SUPPORT_X25519_GENERATE_KEY 53 #define HKS_SUPPORT_X25519_AGREE_KEY 54 #define HKS_SUPPORT_X25519_GET_PUBLIC_KEY 55 56 #if defined(HKS_SUPPORT_AES_GENERATE_KEY) || defined(HKS_SUPPORT_ECC_GENERATE_KEY) || \ 57 defined(HKS_SUPPORT_ED25519_GENERATE_KEY) || defined(HKS_SUPPORT_RSA_GENERATE_KEY) || \ 58 defined(HKS_SUPPORT_X25519_GENERATE_KEY) 59 #define HKS_SUPPORT_API_GENERATE_KEY 60 #define HKS_SUPPORT_API_DELETE_KEY 61 #define HKS_SUPPORT_API_GET_KEY_PARAM_SET 62 #define HKS_SUPPORT_API_KEY_EXIST 63 #endif 64 65 #if defined(HKS_SUPPORT_ECC_C) || defined(HKS_SUPPORT_RSA_C) || \ 66 defined(HKS_SUPPORT_ED25519_C) || defined(HKS_SUPPORT_X25519_C) || \ 67 defined(HKS_SUPPORT_AES_C) 68 #define HKS_SUPPORT_API_IMPORT 69 #endif 70 71 #if defined(HKS_SUPPORT_ECC_C) || defined(HKS_SUPPORT_RSA_C) || \ 72 defined(HKS_SUPPORT_ED25519_C) || defined(HKS_SUPPORT_X25519_C) 73 #define HKS_SUPPORT_API_EXPORT 74 #endif 75 76 #define HKS_SUPPORT_API_GENERATE_RANDOM 77 78 #if defined(HKS_SUPPORT_ECDSA_C) || defined(HKS_SUPPORT_ED25519_SIGN_VERIFY) || \ 79 defined(HKS_SUPPORT_RSA_SIGN_VERIFY) 80 #define HKS_SUPPORT_API_SIGN_VERIFY 81 #endif 82 83 #if defined(HKS_SUPPORT_AES_C) || defined(HKS_SUPPORT_RSA_CRYPT) 84 #define HKS_SUPPORT_API_CIPHER 85 #endif 86 87 #if defined(HKS_SUPPORT_X25519_AGREE_KEY) || defined(HKS_SUPPORT_ECDH_C) 88 #define HKS_SUPPORT_API_AGREE_KEY 89 #endif 90 91 #ifdef HKS_SUPPORT_KDF_C 92 #define HKS_SUPPORT_API_DERIVE_KEY 93 #endif 94 95 #ifdef HKS_SUPPORT_HMAC_C 96 #define HKS_SUPPORT_API_MAC 97 #endif 98 99 #ifdef HKS_SUPPORT_HASH_C 100 #define HKS_SUPPORT_API_HASH 101 #endif 102 103 #ifdef HKS_SUPPORT_BN_C 104 #define HKS_SUPPORT_API_BN_EXP_MOD 105 #endif 106 107 #ifndef HKS_SUPPORT_LITE_HEAP 108 #define HKS_SUPPORT_API_GET_KEY_INFO_LIST 109 #endif 110 111 #endif /* HKS_CONFIG_H */ 112