Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 1 | /* |
Nik Dewally | bacae6c | 2024-07-30 16:58:14 +0100 | [diff] [blame] | 2 | * Copyright (c) 2019-2024, Arm Limited. All rights reserved. |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | * |
| 6 | */ |
| 7 | |
| 8 | #ifndef CRYPTO_ASSET_HPP |
| 9 | #define CRYPTO_ASSET_HPP |
| 10 | |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 11 | #include <vector> |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 12 | #include <cstdint> |
| 13 | |
Nik Dewally | bacae6c | 2024-07-30 16:58:14 +0100 | [diff] [blame] | 14 | #include "data_blocks.hpp" |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 15 | #include "psa_asset.hpp" |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 16 | |
Nik Dewally | bacae6c | 2024-07-30 16:58:14 +0100 | [diff] [blame] | 17 | class key_asset; |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 18 | |
| 19 | using namespace std; |
| 20 | |
| 21 | class crypto_asset : public psa_asset |
| 22 | { |
| 23 | public: |
| 24 | // Data members: |
| 25 | key_policy_info policy; |
| 26 | // Methods: |
| 27 | crypto_asset (void); // (constructor) |
| 28 | ~crypto_asset (void); |
| 29 | |
| 30 | protected: |
| 31 | // Data members: |
| 32 | // Methods: |
| 33 | |
| 34 | private: |
| 35 | // Data members: |
| 36 | // Methods: |
| 37 | }; |
| 38 | |
| 39 | class policy_asset : public crypto_asset |
| 40 | { |
| 41 | public: |
| 42 | // Data members: |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 43 | vector<key_asset*> keys; // keys that use this policy |
| 44 | // Methods: |
| 45 | policy_asset (void); // (constructor) |
| 46 | ~policy_asset (void); |
| 47 | |
| 48 | protected: |
| 49 | // Data members: |
| 50 | // Methods: |
| 51 | |
| 52 | private: |
| 53 | // Data members: |
| 54 | // Methods: |
| 55 | }; |
| 56 | |
| 57 | class key_asset : public crypto_asset |
| 58 | { |
| 59 | public: |
Karl Zhang | 3de5ab1 | 2021-05-31 11:45:48 +0800 | [diff] [blame] | 60 | // Methods: |
| 61 | bool set_key_id (int id_n); // checks key-ID value, returns true==success |
| 62 | key_asset (void); // (constructor) |
| 63 | ~key_asset (void); |
| 64 | |
| 65 | protected: |
| 66 | // Data members: |
| 67 | uint64_t key_id; |
| 68 | // Methods: |
| 69 | |
| 70 | private: |
| 71 | // Data members: |
| 72 | // Methods: |
| 73 | }; |
| 74 | |
| 75 | #endif // CRYPTO_ASSET_HPP |