end of defgroup phhalHw_SamAV3_Cmd_PKI_RSA
More...
|
| phStatus_t | phhalHw_SamAV3_Cmd_PKI_ImportEccKey (phhalHw_SamAV3_DataParams_t *pDataParams, uint8_t bOption, uint8_t bECC_KeyNo, uint16_t wECC_Set, uint8_t bECC_KeyNoCEK, uint8_t bECC_KeyVCEK, uint8_t bECC_RefNoKUC, uint8_t bECC_KeyNoAEK, uint8_t bECC_KeyVAEK, uint16_t wECC_Len, uint8_t *pECC_xy, uint8_t bECC_xyLen) |
| | Imports the ECC public key to Key Storage. More...
|
| |
| phStatus_t | phhalHw_SamAV3_Cmd_PKI_ImportEccCurve (phhalHw_SamAV3_DataParams_t *pDataParams, uint8_t bOption, uint8_t bECC_CurveNo, uint8_t bECC_KeyNoCCK, uint8_t bECC_KeyVCCK, uint8_t bECC_N, uint8_t bECC_M, uint8_t *pECC_Prime, uint8_t *pECC_ParamA, uint8_t *pECC_ParamB, uint8_t *pECC_Px, uint8_t *pECC_Py, uint8_t *pECC_Order) |
| | Imports the full ECC Curve description to the ECC Curve Storage Table. More...
|
| |
| phStatus_t | phhalHw_SamAV3_Cmd_PKI_ExportEccPublicKey (phhalHw_SamAV3_DataParams_t *pDataParams, uint8_t bECC_KeyNo, uint16_t *pECC_Set, uint8_t *pECC_KeyNoCEK, uint8_t *pECC_KeyVCEK, uint8_t *pECC_RefNoKUC, uint8_t *pECC_KeyNoAEK, uint8_t *pECC_KeyVAEK, uint16_t *pECC_Len, uint8_t **ppECC_xy, uint8_t *pECC_xyLen) |
| | Exports the ECC public key from Key Storage. More...
|
| |
| phStatus_t | phhalHw_SamAV3_Cmd_PKI_VerifyEccSignature (phhalHw_SamAV3_DataParams_t *pDataParams, uint8_t bECC_KeyNo, uint8_t bECC_CurveNo, uint8_t bLen, uint8_t *pMessage, uint8_t *pSignature, uint16_t wSignatureLen) |
| | The command verifies the correctness of an ECC signature (i.e. More...
|
| |
end of defgroup phhalHw_SamAV3_Cmd_PKI_RSA
- See also
SAM commands used for asymmetric ECC key management, signature handling and verification.
◆ phhalHw_SamAV3_Cmd_PKI_ImportEccKey()
| phStatus_t phhalHw_SamAV3_Cmd_PKI_ImportEccKey |
( |
phhalHw_SamAV3_DataParams_t * |
pDataParams, |
|
|
uint8_t |
bOption, |
|
|
uint8_t |
bECC_KeyNo, |
|
|
uint16_t |
wECC_Set, |
|
|
uint8_t |
bECC_KeyNoCEK, |
|
|
uint8_t |
bECC_KeyVCEK, |
|
|
uint8_t |
bECC_RefNoKUC, |
|
|
uint8_t |
bECC_KeyNoAEK, |
|
|
uint8_t |
bECC_KeyVAEK, |
|
|
uint16_t |
wECC_Len, |
|
|
uint8_t * |
pECC_xy, |
|
|
uint8_t |
bECC_xyLen |
|
) |
| |
Imports the ECC public key to Key Storage.
This is only supported by Sam AV3 version.
- Returns
- Status code
- Return values
-
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
- Parameters
-
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bOption | [In] Option for P1 information byte.
|
| [in] | bECC_KeyNo | [In] The key reference number of the ECC key entry to be update (00h to 07h). |
| [in] | wECC_Set | [In] Configuration settings of the key entry. |
| [in] | bECC_KeyNoCEK | [In] Key reference number of change entry key. 0xFE : No Restrictions
0xFF : Entry Locked
0x00 - 0x7F: Restricted to specific permanent KST Key Entry
|
| [in] | bECC_KeyVCEK | [In] Key version of change entry key. |
| [in] | bECC_RefNoKUC | [In] Reference number of key usage counter. |
| [in] | bECC_KeyNoAEK | [In] Key version of access entry key.
0xFE : No Access Restrictions
0xFF : Entry Disabled
0x00 - 0x7F: Restricted to specific permanent KST Key Entry
|
| [in] | bECC_KeyVAEK | [In] Version of the created acces key entry. |
| [in] | wECC_Len | [In] ECC bit field size in bytes. |
| [in] | pECC_xy | [In] Public key point coordinate. Ranges from 33 - 65 bytes. |
| [in] | bECC_xyLen | [In] Length of Plublic key point coordinates. |
◆ phhalHw_SamAV3_Cmd_PKI_ImportEccCurve()
| phStatus_t phhalHw_SamAV3_Cmd_PKI_ImportEccCurve |
( |
phhalHw_SamAV3_DataParams_t * |
pDataParams, |
|
|
uint8_t |
bOption, |
|
|
uint8_t |
bECC_CurveNo, |
|
|
uint8_t |
bECC_KeyNoCCK, |
|
|
uint8_t |
bECC_KeyVCCK, |
|
|
uint8_t |
bECC_N, |
|
|
uint8_t |
bECC_M, |
|
|
uint8_t * |
pECC_Prime, |
|
|
uint8_t * |
pECC_ParamA, |
|
|
uint8_t * |
pECC_ParamB, |
|
|
uint8_t * |
pECC_Px, |
|
|
uint8_t * |
pECC_Py, |
|
|
uint8_t * |
pECC_Order |
|
) |
| |
Imports the full ECC Curve description to the ECC Curve Storage Table.
This is only supported by Sam AV3 version.
- Returns
- Status code
- Return values
-
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
- Parameters
-
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bOption | [In] Option for P1 information byte.
|
| [in] | bECC_CurveNo | [In] Curve reference number of the ECC curve entry to update (00h to 03h). |
| [in] | bECC_KeyNoCCK | [In] Key reference number to change the curve entry. 0xFE : No Restrictions
0xFF : Entry Locked
0x00 - 0x7F: Restricted to specific permanent KST Key Entry
|
| [in] | bECC_KeyVCCK | [In] Key version to change curve entry. |
| [in] | bECC_N | [In] Size of the field in bytes. Ranges from 16 to 32 bytes. |
| [in] | bECC_M | [In] Size of the order in bytes. Ranges from 16 to 32 bytes. |
| [in] | pECC_Prime | [In] Prime, field definition: ECC_N bytes. |
| [in] | pECC_ParamA | [In] Curve parameter (a): ECC_N bytes. |
| [in] | pECC_ParamB | [In] Curve parameter (b): ECC_N bytes. |
| [in] | pECC_Px | [In] x-coordinate of basepoint: ECC_N bytes. |
| [in] | pECC_Py | [In] y-coordinate of basepoint: ECC_N bytes. |
| [in] | pECC_Order | [In] Order of basepoint: ECC_M bytes. |
◆ phhalHw_SamAV3_Cmd_PKI_ExportEccPublicKey()
| phStatus_t phhalHw_SamAV3_Cmd_PKI_ExportEccPublicKey |
( |
phhalHw_SamAV3_DataParams_t * |
pDataParams, |
|
|
uint8_t |
bECC_KeyNo, |
|
|
uint16_t * |
pECC_Set, |
|
|
uint8_t * |
pECC_KeyNoCEK, |
|
|
uint8_t * |
pECC_KeyVCEK, |
|
|
uint8_t * |
pECC_RefNoKUC, |
|
|
uint8_t * |
pECC_KeyNoAEK, |
|
|
uint8_t * |
pECC_KeyVAEK, |
|
|
uint16_t * |
pECC_Len, |
|
|
uint8_t ** |
ppECC_xy, |
|
|
uint8_t * |
pECC_xyLen |
|
) |
| |
Exports the ECC public key from Key Storage.
This is only supported by Sam AV3 version.
- Returns
- Status code
- Return values
-
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
- Parameters
-
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bECC_KeyNo | [In] The key reference number of the ECC key entry to be update (00h to 07h). |
| [out] | pECC_Set | [Out] Configuration settings of the key entry. |
| [out] | pECC_KeyNoCEK | [Out] Key reference number of change entry key. 0xFE : No Restrictions
0xFF : Entry Locked
0x00 - 0x7F: Restricted to specific permanent KST Key Entry
|
| [out] | pECC_KeyVCEK | [Out] Key version of change entry key. |
| [out] | pECC_RefNoKUC | [Out] Reference number of key usage counter. |
| [out] | pECC_KeyNoAEK | [Out] Key version of access entry key.
0xFE : No Access Restrictions
0xFF : Entry Disabled
0x00 - 0x7F: Restricted to specific permanent KST Key Entry
|
| [out] | pECC_KeyVAEK | [Out] Version of the created acces key entry. |
| [out] | pECC_Len | [Out] ECC bit field size in bytes. |
| [out] | ppECC_xy | [Out] Public key point coordinate. Ranges from 33 - 65 bytes. |
| [out] | pECC_xyLen | [Out] Length of Plublic key point coordinates. |
◆ phhalHw_SamAV3_Cmd_PKI_VerifyEccSignature()
The command verifies the correctness of an ECC signature (i.e.
: NXPOriginalitySignature) obtained from the product to verify. The signature is computed according to Elliptic Curve DSA (ECDSA) algorithm. This is only supported by Sam AV3 version.
- Returns
- Status code
- Return values
-
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
- Parameters
-
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bECC_KeyNo | [In] The key reference number of the ECC key entry to be used for signature verification (00h to 07h). |
| [in] | bECC_CurveNo | [In] The curve reference number of the ECC curve entry to be used for signature verification (00h to 03h). |
| [in] | bLen | [In] Length in bytes of the message to verify. |
| [in] | pMessage | [In] Signed input data. |
| [in] | pSignature | [In] The ECC digital signature where N is 2 ECC_Len of ECC_KeyNo key entry. |
| [in] | wSignatureLen | [In] Length of ECC digital signature. |