| /* |
| * |
| * Copyright 2019 NXP |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** @file */ |
| |
| #ifndef SE050X_APDU_H |
| #define SE050X_APDU_H |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include "se05x_tlv.h" |
| #include "se05x_const.h" |
| #include "se05x_APDU_apis.h" |
| |
| /** Se05x_API_DeleteAll_Iterative |
| * |
| * Go through each object and delete it individually. |
| * |
| * This API does not use the Applet API @ref Se05x_API_DeleteAll. It |
| * does not delete ALL objects and purposefully skips few objects. |
| * |
| * Instead, this API uses @ref Se05x_API_ReadIDList and @ref |
| * Se05x_API_ReadCryptoObjectList to first fetch list of objects to host, and |
| * **selectitvely** deletes. |
| * |
| * For e.g. It does not kill objects from: |
| * - The range SE05X_OBJID_SE05X_APPLET_RES_START to |
| * SE05X_OBJID_SE05X_APPLET_RES_END. This range is used by applet. |
| * - The range EX_SSS_OBJID_DEMO_AUTH_START to EX_SSS_OBJID_DEMO_AUTH_END, |
| * which is used by middleware DEMOS for authentication. |
| * - And others. |
| * |
| * Kindly see the Implementation of is API Se05x_API_DeleteAll_Iterative to see |
| * the list of ranges that are skipped. |
| * |
| * @param[in] session_ctx Session Context |
| * |
| * @return The status of API. |
| */ |
| smStatus_t Se05x_API_DeleteAll_Iterative(pSe05xSession_t session_ctx); |
| |
| /** |
| * @brief Get the Curve ID for existing Key. |
| * |
| * This API is functionally same as @ref Se05x_API_GetECCurveId |
| * but uses @ref SE05x_ECCurve_t as a type instead of uint8_t. |
| * |
| * @param[in] session_ctx The session context |
| * @param[in] objectID The object id |
| * @param pcurveId The pcurve identifier |
| * |
| * |
| * @return The sm status. |
| */ |
| smStatus_t Se05x_API_EC_CurveGetId(pSe05xSession_t session_ctx, uint32_t objectID, SE05x_ECCurve_t *pcurveId); |
| |
| /** Wrapper for @ref Se05x_API_ECDHGenerateSharedSecret */ |
| |
| #define Se05x_API_ECGenSharedSecret Se05x_API_ECDHGenerateSharedSecret |
| |
| /** Wrapper for @ref Se05x_API_DigestOneShot */ |
| #define Se05x_API_SHAOneShot Se05x_API_DigestOneShot |
| |
| // For SIMW-656 |
| bool Se05x_IsInValidRangeOfUID(uint32_t uid); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* SE050X_APDU_H */ |