17777dab0Sopenharmony_ci/* 27777dab0Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 37777dab0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47777dab0Sopenharmony_ci * you may not use this file except in compliance with the License. 57777dab0Sopenharmony_ci * You may obtain a copy of the License at 67777dab0Sopenharmony_ci * 77777dab0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87777dab0Sopenharmony_ci * 97777dab0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107777dab0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117777dab0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127777dab0Sopenharmony_ci * See the License for the specific language governing permissions and 137777dab0Sopenharmony_ci * limitations under the License. 147777dab0Sopenharmony_ci */ 157777dab0Sopenharmony_ci 167777dab0Sopenharmony_ci#ifndef OEMKEY_H 177777dab0Sopenharmony_ci#define OEMKEY_H 187777dab0Sopenharmony_ci/** 197777dab0Sopenharmony_ci * @addtogroup TeeTrusted 207777dab0Sopenharmony_ci * @{ 217777dab0Sopenharmony_ci * 227777dab0Sopenharmony_ci * @brief TEE(Trusted Excution Environment) API. 237777dab0Sopenharmony_ci * Provides security capability APIs such as trusted storage, encryption and decryption, 247777dab0Sopenharmony_ci * and trusted time for trusted application development. 257777dab0Sopenharmony_ci * 267777dab0Sopenharmony_ci * @since 12 277777dab0Sopenharmony_ci */ 287777dab0Sopenharmony_ci 297777dab0Sopenharmony_ci/** 307777dab0Sopenharmony_ci * @file oemkey.h 317777dab0Sopenharmony_ci * 327777dab0Sopenharmony_ci * @brief Provides the method for obtaining the hardware provision key. 337777dab0Sopenharmony_ci * 347777dab0Sopenharmony_ci * @library NA 357777dab0Sopenharmony_ci * @kit TEEKit 367777dab0Sopenharmony_ci * @syscap SystemCapability.Tee.TeeClient 377777dab0Sopenharmony_ci * @since 12 387777dab0Sopenharmony_ci * @version 1.0 397777dab0Sopenharmony_ci */ 407777dab0Sopenharmony_ci 417777dab0Sopenharmony_ci#include <stdint.h> 427777dab0Sopenharmony_ci#include <stdlib.h> 437777dab0Sopenharmony_ci 447777dab0Sopenharmony_ci#ifdef __cplusplus 457777dab0Sopenharmony_ciextern "C" { 467777dab0Sopenharmony_ci#endif 477777dab0Sopenharmony_ci/** 487777dab0Sopenharmony_ci * @brief Obtains the provision key. 497777dab0Sopenharmony_ci * 507777dab0Sopenharmony_ci * @param oem_key Indicates the pointer to the buffer for storing the provision key. 517777dab0Sopenharmony_ci * @param key_size Indicates the length of the buffer used to store the provision key, which is 16. 527777dab0Sopenharmony_ci * 537777dab0Sopenharmony_ci * @return Returns <b>0</b> if the operation is successful. 547777dab0Sopenharmony_ci * @return Returns other values otherwise. 557777dab0Sopenharmony_ci * 567777dab0Sopenharmony_ci * @since 12 577777dab0Sopenharmony_ci */ 587777dab0Sopenharmony_ciuint32_t tee_hal_get_provision_key(uint8_t *oem_key, size_t key_size); 597777dab0Sopenharmony_ci 607777dab0Sopenharmony_ci#ifdef __cplusplus 617777dab0Sopenharmony_ci} 627777dab0Sopenharmony_ci#endif 637777dab0Sopenharmony_ci 647777dab0Sopenharmony_ci/** @} */ 657777dab0Sopenharmony_ci#endif 66