| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| #ifndef SRC_SECURITY_KEYSAFE_KEYSAFE_H_ |
| #define SRC_SECURITY_KEYSAFE_KEYSAFE_H_ |
| |
| // This UUID is generated with uuidgen |
| // the ITU-T UUID generator at http://www.itu.int/ITU-T/asn1/uuid.html */ |
| #define TA_KEYSAFE_UUID \ |
| { \ |
| 0x808032e0, 0xfd9e, 0x4e6f, { \ |
| 0x88, 0x96, 0x54, 0x47, 0x35, 0xc9, 0x84, 0x80 \ |
| } \ |
| } |
| |
| // The IDs for the commands that would be handled by this TA |
| #define TA_KEYSAFE_CMD_GENERATE_KEY 0 |
| #define TA_KEYSAFE_CMD_GET_PUBLIC_KEY 1 |
| #define TA_KEYSAFE_CMD_ENCRYPT_DATA 2 |
| #define TA_KEYSAFE_CMD_DECRYPT_DATA 3 |
| #define TA_KEYSAFE_CMD_SIGN 4 |
| #define TA_KEYSAFE_CMD_GET_HARDWARE_DERIVED_KEY 5 |
| #define TA_KEYSAFE_CMD_PARSE_KEY 6 |
| #define TA_KEYSAFE_CMD_IMPORT_KEY 7 |
| #define TA_KEYSAFE_CMD_GET_USER_DATA_STORAGE_KEY 8 |
| #define TA_KEYSAFE_CMD_ROTATE_HARDWARE_DERIVED_KEY 9 |
| |
| // Supported Algorithms |
| #define TA_KEYSAFE_ALG_RSA_SSA_PSS_SHA256_2048 1 |
| #define TA_KEYSAFE_ALG_RSA_SSA_PSS_SHA256_3072 2 |
| #define TA_KEYSAFE_ALG_RSA_SSA_PSS_SHA512_4096 3 |
| #define TA_KEYSAFE_ALG_RSA_SSA_PKCS1_SHA256_2048 4 |
| #define TA_KEYSAFE_ALG_RSA_SSA_PKCS1_SHA256_3072 5 |
| #define TA_KEYSAFE_ALG_RSA_SSA_PKCS1_SHA512_4096 6 |
| #define TA_KEYSAFE_ALG_ECDSA_SHA256_P256 7 |
| #define TA_KEYSAFE_ALG_ECDSA_SHA512_P384 8 |
| #define TA_KEYSAFE_ALG_ECDSA_SHA512_P521 9 |
| #define TA_KEYSAFE_ALG_AES_GCM_256 10 |
| |
| #define TA_KEYSAFE_WRAPPING_KEY_SIZE_BITS (128) |
| #define TA_KEYSAFE_AES_GCM_TAG_LEN_BYTES (16) |
| #define TA_KEYSAFE_AES_GCM_IV_LEN_BYTES (12) |
| |
| #endif // SRC_SECURITY_KEYSAFE_KEYSAFE_H_ |