1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Permission is hereby granted, free of charge, to any person 5 * obtaining a copy of this software and associated documentation 6 * files (the "Software"), to deal in the Software without 7 * restriction, including without limitation the rights to use, copy, 8 * modify, merge, publish, distribute, sublicense, and/or sell copies 9 * of the Software, and to permit persons to whom the Software is 10 * furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be 13 * included in all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 19 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 20 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 * SOFTWARE. 23 */ 24 25 #include "fake_atap_ops.h" 26 27 #include <memory> 28 29 namespace atap { 30 31 FakeAtapOps::FakeAtapOps() {} 32 FakeAtapOps::~FakeAtapOps() {} 33 34 AtapResult FakeAtapOps::read_product_id( 35 uint8_t product_id[ATAP_PRODUCT_ID_LEN]) { 36 memset(product_id, 0x00, ATAP_PRODUCT_ID_LEN); 37 return ATAP_RESULT_OK; 38 } 39 40 AtapResult FakeAtapOps::get_auth_key_type(AtapKeyType* key_type) { 41 *key_type = ATAP_KEY_TYPE_NONE; 42 return ATAP_RESULT_OK; 43 } 44 45 AtapResult FakeAtapOps::read_auth_key_cert_chain(AtapCertChain* cert_chain) { 46 return ATAP_RESULT_ERROR_UNSUPPORTED_OPERATION; 47 } 48 49 AtapResult FakeAtapOps::write_attestation_key(AtapKeyType key_type, 50 const AtapBlob* key, 51 const AtapCertChain* cert_chain) { 52 return ATAP_RESULT_OK; 53 } 54 55 AtapResult FakeAtapOps::read_attestation_public_key( 56 57 AtapKeyType key_type, 58 uint8_t pubkey[ATAP_KEY_LEN_MAX], 59 uint32_t* pubkey_len) { 60 return ATAP_RESULT_ERROR_UNSUPPORTED_OPERATION; 61 } 62 63 AtapResult FakeAtapOps::read_soc_global_key( 64 uint8_t global_key[ATAP_AES_128_KEY_LEN]) { 65 return ATAP_RESULT_ERROR_UNSUPPORTED_OPERATION; 66 } 67 68 AtapResult FakeAtapOps::write_hex_uuid(const uint8_t uuid[ATAP_HEX_UUID_LEN]) { 69 return ATAP_RESULT_OK; 70 } 71 72 AtapResult FakeAtapOps::auth_key_sign(const uint8_t* nonce, 73 uint32_t nonce_len, 74 uint8_t sig[ATAP_SIGNATURE_LEN_MAX], 75 uint32_t* sig_len) { 76 return ATAP_RESULT_ERROR_UNSUPPORTED_OPERATION; 77 } 78 79 } // namespace atap 80