How to enable Platform SCP when using SE050

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to enable Platform SCP when using SE050

184件の閲覧回数
yang_lee
Contributor III

Hello everyone,

I'm using SE050E and having trouble using Platform SCP. I followed the instructions in AN12542 (https://www.nxp.jp/docs/en/application-note/AN12542.pdf#4#4) and defined SSS_HAVE_SE05X_AUTH_PLATFSCP03 1, but when I open a session by calling the ex_sss_boot_open function, the result is kStatus_SSS_Fail. Did I do something wrong? Everything worked fine when I use plain communication. Please let me know if I need to configure anything else.

Thanks

ラベル(1)
タグ(2)
0 件の賞賛
返信
2 返答(返信)

149件の閲覧回数
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @yang_lee ,

 

The example provided in the chapter 6 is just for SE050E, but at first please make sure which build system you are using.

1. For MCUXpresso SDK based, please follow the steps within 6.2 and 6.3

2. For Cmake based, please follow the steps within 6.4 and 6.5

 

Hope that helps,

 

Have a great day,
Kan


-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 件の賞賛
返信

135件の閲覧回数
yang_lee
Contributor III

Hi @Kan_Li ,

I followed the instructions in sections 6.2 and 6.3 and tried running the se05x_MandatePlatformSCP example in SE-PLUG-TRUST-MW_04.07.01, but the sss_key_object_init(eraseAuthCtx.auth.ctx.idobj.pObj, &pCtx->host_ks) function returned kStatus_SSS_InvalidArgument. Do I need to call the ex_sss_boot_open, ex_sss_key_store_and_object_init, and ex_sss_boot_open_host_session functions as in the ex_sss_main_inc.h file before calling the sss_key_object_init function? The code is below:

 

/* clang-format off */
#define MandateSCP_UserID_VALUE                 \
    {                                           \
        'N', 'E', 'E', 'D', 'S', 'C', 'P'            \
    }
/* clang-format ON */
sss_status_t se050_platformSCP03(void)
{
sss_status_t status = kStatus_SSS_Fail;
    sss_object_t keyObject;
    ex_sss_boot_ctx_t gex_sss_mandate_scp_boot_ctx;
SE_Connect_Ctx_t eraseAuthCtx = { 0 };
sss_se05x_session_t *pSession = (sss_se05x_session_t *)&gex_sss_mandate_scp_boot_ctx.session;
    smStatus_t sw_status;
    Se05xSession_t *pSe05xSession;
    SE_Connect_Ctx_t* pOpenCtx;
    sss_object_t ex_id = { 0 };
 
    const uint8_t host_userid_value[] = MandateSCP_UserID_VALUE;
    const uint8_t userid_value_factoryreset[] = MandateSCP_UserID_VALUE;
    eraseAuthCtx.auth.ctx.idobj.pObj = &ex_id;
 
const char *portName = NULL;
 
    memset(&gex_sss_mandate_scp_boot_ctx, 0, sizeof(gex_sss_mandate_scp_boot_ctx));
 
//    /* initialize session to connect to the SE050 */
//    status = ex_sss_boot_open(&gex_sss_mandate_scp_boot_ctx, portName);
//    if (kStatus_SSS_Success != status)
//    {
//        ex_sss_session_close(&gex_sss_mandate_scp_boot_ctx);
//        return status; /* return error if can't initialize session with SE050 */
//    }
 
//    /* setup KeyStore */
//    status = ex_sss_key_store_and_object_init(&gex_sss_mandate_scp_boot_ctx);
//    if (kStatus_SSS_Success != status)
//    {
//        ex_sss_session_close(&gex_sss_mandate_scp_boot_ctx);
//        return status; /* close sesion and return error if can't initialize fail */
//    }
 
//    ex_sss_boot_open_host_session(&gex_sss_mandate_scp_boot_ctx);
    /* Prepare host */   
    status = sss_key_object_init(eraseAuthCtx.auth.ctx.idobj.pObj, &gex_sss_mandate_scp_boot_ctx.host_ks);
    if (kStatus_SSS_Success != status) {
        LOG_E("Failed sss_key_object_init");
        goto cleanup;
    }
    status = sss_key_object_allocate_handle(eraseAuthCtx.auth.ctx.idobj.pObj,
                                            MAKE_TEST_ID(__LINE__),
                                            kSSS_KeyPart_Default,
                                            kSSS_CipherType_UserID,
                                            sizeof(host_userid_value),
                                            kKeyObject_Mode_Transient);
    if (kStatus_SSS_Success != status) {
        LOG_E("Failed sss_key_object_allocate_handle");
        goto cleanup;
    }
    status = sss_key_store_set_key(&gex_sss_mandate_scp_boot_ctx.host_ks,
                                   eraseAuthCtx.auth.ctx.idobj.pObj,
                                   host_userid_value,
                                   sizeof(host_userid_value),
                                   sizeof(host_userid_value) * 8,
                                   NULL,
                                   0);
    if (kStatus_SSS_Success != status) {
        LOG_E("Failed sss_key_store_set_key");
        goto cleanup;
    }
 
    pSe05xSession = &pSession->s_ctx;
 
    sw_status = Se05x_API_WriteUserID(pSe05xSession,
        NULL,
        SE05x_MaxAttemps_NA,
        kSE05x_AppletResID_PLATFORM_SCP,
        userid_value_factoryreset,
        sizeof(userid_value_factoryreset),
        kSE05x_AttestationType_AUTH);
 
    pOpenCtx = &gex_sss_mandate_scp_boot_ctx.se05x_open_ctx;
    eraseAuthCtx.tunnelCtx = pOpenCtx->tunnelCtx;
    eraseAuthCtx.connType = pOpenCtx->connType;
    eraseAuthCtx.portName = pOpenCtx->portName;
    eraseAuthCtx.auth.authType = kSSS_AuthType_ID;
 
 
    sss_session_close(&gex_sss_mandate_scp_boot_ctx.session);
 
    pSe05xSession = &pSession->s_ctx;
 
    status = sss_session_open(&gex_sss_mandate_scp_boot_ctx.session, kType_SSS_SE_SE05x,
                               kSE05x_AppletResID_PLATFORM_SCP,
                               kSSS_ConnectionType_Password, &eraseAuthCtx);
 
 
    if (kStatus_SSS_Success != status) {
        LOG_E("Failed sss_session_open");
        goto cleanup;
    }
 
 
    /* Call SE05X API to Mandate Platform SCP. */
 
    sw_status = Se05x_API_SetPlatformSCPRequest(&pSession->s_ctx, kSE05x_PlatformSCPRequest_REQUIRED);
    if(SM_OK != sw_status) {
        LOG_E("Se05x_API_SetPlatformSCPRequest Failed");
        goto cleanup;
    }
    else {
        LOG_I("Se05x_API_SetPlatformSCPRequest Successful");
        LOG_W("Further communication must be encrypted");
    }
 
cleanup:
    if (kStatus_SSS_Success == status) {
        LOG_I("se05x_MandatePlatformSCP Example Success !!!...");
    }
    else {
        LOG_E("se05x_MandatePlatformSCP Example Failed !!!...");
    }
    return status;
}
 

Thanks,

Duong

 

タグ(2)
0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2372103%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ESE050%E4%BD%BF%E7%94%A8%E6%99%82%E3%81%AB%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0SCP%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2372103%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%81%BF%E3%82%93%E3%81%AA%E3%80%81%3C%2FP%3E%3CP%3ESE050E%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%20SCP%E3%81%AE%E4%BD%BF%E7%94%A8%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82AN12542%20(%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.jp%2Fdocs%2Fen%2Fapplication-note%2FAN12542.pdf%234%234%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.jp%2Fdocs%2Fen%2Fapplication-note%2FAN12542.pdf%234%234%3C%2FA%3E%20)%20%E3%81%AE%E6%89%8B%E9%A0%86%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A6%20SSS_HAVE_SE05X_AUTH_PLATFSCP03%201%20%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81ex_sss_boot_open%20%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A6%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E9%96%8B%E3%81%8F%E3%81%A8%E3%80%81%E7%B5%90%E6%9E%9C%E3%81%AF%20kStatus_SSS_Fail%20%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E7%A7%81%E3%81%AF%E4%BD%95%E3%81%8B%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%82%92%E3%81%97%E3%81%9F%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F%E9%80%9A%E5%B8%B8%E3%81%AE%E9%80%9A%E4%BF%A1%E6%96%B9%E6%B3%95%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AF%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E4%BB%96%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E9%A0%85%E7%9B%AE%E3%81%8C%E3%81%82%E3%82%8C%E3%81%B0%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2372103%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ESE050%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2372709%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20enable%20Platform%20SCP%20when%20using%20SE050%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2372709%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F59276%22%20target%3D%22_blank%22%3E%40Kan_Li%3C%2FA%3E%E3%81%95%E3%82%93%3C%2FP%3E%3CP%3E%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%206.2%20%E3%81%A8%206.3%20%E3%81%AE%E6%89%8B%E9%A0%86%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A6%3CSTRONG%3E%20SE-PLUG-TRUST-MW_04.07.01%3C%2FSTRONG%3E%20%E3%81%AE%3CEM%3E%20se05x_MandatePlatformSCP%3C%2FEM%3E%20%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%3CEM%3E%20sss_key_object_init%3C%2FEM%3E%20(eraseAuthCtx.auth.ctx.idobj.pObj%E3%80%81%26amp%3BpCtx-%26gt%3Bhost_ks)%20%E9%96%A2%E6%95%B0%E3%81%8C%20kStatus_SSS_InvalidArgument%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3CEM%3Eex_sss_main_inc.h%3C%2FEM%3E%E3%81%AB%E3%81%82%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%80%81ex_sss_boot_open%E3%80%81%20%3CEM%3Eex_sss_key_store_and_object_init%3C%2FEM%3E%20%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%3CEM%3Eex_sss_boot_open_host_session%3C%2FEM%3E%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%3CEM%3Esss_key_object_init%3C%2FEM%3E%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E5%89%8D%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%2F*%20clang-format%20%E3%82%AA%E3%83%95%20*%2F%3C%2FDIV%3E%3CDIV%3E%23define%20MandateSCP_UserID_VALUE%20%5C%3C%2FDIV%3E%3CDIV%3E%7B%20%5C%3C%2FDIV%3E%3CDIV%3E'N'%E3%80%81'E'%E3%80%81'E'%E3%80%81'D'%E3%80%81'S'%E3%80%81'C'%E3%80%81'P'%20%5C%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%2F*%20clang-format%20ON%20*%2F%3C%2FDIV%3E%3CDIV%3Esss_status_t%20se050_platformSCP03(void)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Esss_status_t%20status%20%3D%20kStatus_SSS_Fail%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3Esss_object_t%20keyObject%3B%3C%2FDIV%3E%3CDIV%3Eex_sss_boot_ctx_t%20gex_sss_mandate_scp_boot_ctx%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESE_Connect_Ctx_t%20eraseAuthCtx%20%3D%20%7B%200%20%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Esss_se05x_session_t%20*pSession%20%3D%20(sss_se05x_session_t%20*)%26amp%3Bgex_sss_mandate_scp_boot_ctx.session%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3EsmStatus_t%20sw_status%3B%3C%2FDIV%3E%3CDIV%3ESe05xSession_t%20*pSe05xSession%3B%3C%2FDIV%3E%3CDIV%3ESE_Connect_Ctx_t*%20pOpenCtx%3B%3C%2FDIV%3E%3CDIV%3Esss_object_t%20ex_id%20%3D%20%7B%200%20%7D%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Econst%20uint8_t%20host_userid_value%5B%5D%20%3D%20MandateSCP_UserID_VALUE%3B%3C%2FDIV%3E%3CDIV%3Econst%20uint8_t%20userid_value_factoryreset%5B%5D%20%3D%20MandateSCP_UserID_VALUE%3B%3C%2FDIV%3E%3CDIV%3EeraseAuthCtx.auth.ctx.idobj.pObj%20%3D%20%26amp%3Bex_id%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Econst%20char%20*portName%20%3D%20NULL%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Ememset(%26amp%3Bgex_sss_mandate_scp_boot_ctx%2C%200%2C%20sizeof(gex_sss_mandate_scp_boot_ctx))%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%2F*%20SE050%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3C%2FDIV%3E%3CDIV%3E%2F%2F%20status%20%3D%20ex_sss_boot_open(%26amp%3Bgex_sss_mandate_scp_boot_ctx%2C%20portName)%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20if%20(kStatus_SSS_Success%20!%3D%20status)%3C%2FDIV%3E%3CDIV%3E%2F%2F%3C%2FDIV%3E%3CDIV%3E%2F%2F%20ex_sss_session_close(%26amp%3Bgex_sss_mandate_scp_boot_ctx)%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%2F*%20SE050%20%E3%81%A7%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%2F*%20%E3%82%AD%E3%83%BC%E3%82%B9%E3%83%88%E3%82%A2%E3%81%AE%E8%A8%AD%E5%AE%9A%20*%2F%3C%2FDIV%3E%3CDIV%3E%2F%2F%20status%20%3D%20ex_sss_key_store_and_object_init(%26amp%3Bgex_sss_mandate_scp_boot_ctx)%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20if%20(kStatus_SSS_Success%20!%3D%20status)%3C%2FDIV%3E%3CDIV%3E%2F%2F%3C%2FDIV%3E%3CDIV%3E%2F%2F%20ex_sss_session_close(%26amp%3Bgex_sss_mandate_scp_boot_ctx)%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%92%E8%BF%94%E3%81%99%E3%80%82%2F*%20%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E9%96%89%E3%81%98%E3%80%81%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E8%BF%94%E3%81%99%20*%2F%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20ex_sss_boot_open_host_session(%26amp%3Bgex_sss_mandate_scp_boot_ctx)%3B%3C%2FDIV%3E%3CDIV%3E%2F*%20%E3%83%9B%E3%82%B9%E3%83%88%E3%82%92%E6%BA%96%E5%82%99%E3%81%99%E3%82%8B%20*%2F%3C%2FDIV%3E%3CDIV%3Estatus%20%3D%20sss_key_object_init(eraseAuthCtx.auth.ctx.idobj.pObj%2C%26amp%3Bgex_sss_mandate_scp_boot_ctx.host_ks)%3B%3C%2FDIV%3E%3CDIV%3Eif%20(kStatus_SSS_Success%20!%3D%20status)%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_E(%22sss_key_object_init%20%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FDIV%3E%3CDIV%3E%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%B8%E7%A7%BB%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3Estatus%20%3D%20sss_key_object_allocate_handle(eraseAuthCtx.auth.ctx.idobj.pObj%2C%3C%2FDIV%3E%3CDIV%3EMAKE_TEST_ID(%20__LINE__%20)%2C%3C%2FDIV%3E%3CDIV%3EkSSS_KeyPart_Default%E3%80%81%3C%2FDIV%3E%3CDIV%3EkSSS_%E6%9A%97%E5%8F%B7%E3%82%BF%E3%82%A4%E3%83%97_%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BCID%E3%80%81%3C%2FDIV%3E%3CDIV%3Esizeof(host_userid_value)%E3%80%81%3C%2FDIV%3E%3CDIV%3EkKeyObject_Mode_Transient)%3B%3C%2FDIV%3E%3CDIV%3Eif%20(kStatus_SSS_Success%20!%3D%20status)%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_E(%22sss_key_object_allocate_handle%20%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FDIV%3E%3CDIV%3E%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%B8%E7%A7%BB%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3Estatus%20%3D%20sss_key_store_set_key(%26amp%3Bgex_sss_mandate_scp_boot_ctx.host_ks%2C%3C%2FDIV%3E%3CDIV%3EeraseAuthCtx.auth.ctx.idobj.pObj%E3%80%81%3C%2FDIV%3E%3CDIV%3Ehost_userid_value%E3%80%81%3C%2FDIV%3E%3CDIV%3Esizeof(host_userid_value)%E3%80%81%3C%2FDIV%3E%3CDIV%3Esizeof(host_userid_value)%20*%208%E3%80%81%3C%2FDIV%3E%3CDIV%3ENULL%E3%80%81%3C%2FDIV%3E%3CDIV%3E0)%3B%3C%2FDIV%3E%3CDIV%3Eif%20(kStatus_SSS_Success%20!%3D%20status)%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_E(%22sss_key_store_set_key%20%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FDIV%3E%3CDIV%3E%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%B8%E7%A7%BB%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EpSe05xSession%20%3D%20%26amp%3BpSession-%26gt%3Bs_ctx%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Esw_status%20%3D%20Se05x_API_WriteUserID(pSe05xSession%2C%3C%2FDIV%3E%3CDIV%3ENULL%E3%80%81%3C%2FDIV%3E%3CDIV%3ESE05x_MaxAttemps_NA%E3%80%81%3C%2FDIV%3E%3CDIV%3EkSE05x_AppletResID_PLATFORM_SCP%E3%80%81%3C%2FDIV%3E%3CDIV%3Euserid_value_factoryreset%E3%80%81%3C%2FDIV%3E%3CDIV%3Esizeof(userid_value_factoryreset)%3C%2FDIV%3E%3CDIV%3EkSE05x_AttestationType_AUTH)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EpOpenCtx%20%3D%20%26amp%3Bgex_sss_mandate_scp_boot_ctx.se05x_open_ctx%3B%3C%2FDIV%3E%3CDIV%3EeraseAuthCtx.tunnelCtx%20%3D%20pOpenCtx-%26gt%3BtunnelCtx%3B%3C%2FDIV%3E%3CDIV%3EeraseAuthCtx.connType%20%3D%20pOpenCtx-%26gt%3BconnType%3B%3C%2FDIV%3E%3CDIV%3EeraseAuthCtx.portName%20%3D%20pOpenCtx-%26gt%3BportName%3B%3C%2FDIV%3E%3CDIV%3EeraseAuthCtx.auth.authType%20%3D%20kSSS_AuthType_ID%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Esss_session_close(%26amp%3Bgex_sss_mandate_scp_boot_ctx.session)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EpSe05xSession%20%3D%20%26amp%3BpSession-%26gt%3Bs_ctx%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Estatus%20%3D%20sss_session_open(%26amp%3Bgex_sss_mandate_scp_boot_ctx.session%2CkType_SSS_SE_SE05x%E3%80%81%3C%2FDIV%3E%3CDIV%3EkSE05x_AppletResID_PLATFORM_SCP%E3%80%81%3C%2FDIV%3E%3CDIV%3EkSSS_ConnectionType_Password%E3%80%81%26amp%3BeraseAuthCtx)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Eif%20(kStatus_SSS_Success%20!%3D%20status)%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_E(%22sss_session_open%20%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FDIV%3E%3CDIV%3E%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%B8%E7%A7%BB%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F*%20SE05X%20API%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A6%E3%80%81%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%20SCP%20%E3%82%92%E5%BC%B7%E5%88%B6%E3%81%97%E3%81%BE%E3%81%99%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Esw_status%20%3D%20Se05x_API_SetPlatformSCPRequest(%26amp%3BpSession-%26gt%3Bs_ctx%2C%20kSE05x_PlatformSCPRequest_REQUIRED)%3B%3C%2FDIV%3E%3CDIV%3Eif(SM_OK%20!%3D%20sw_status)%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_E(%22Se05x_API_SetPlatformSCPRequest%20%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FDIV%3E%3CDIV%3E%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%B8%E7%A7%BB%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%E3%81%9D%E3%82%8C%E4%BB%A5%E5%A4%96%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_I(%22Se05x_API_SetPlatformSCPRequest%20%E6%88%90%E5%8A%9F%22)%3B%3C%2FDIV%3E%3CDIV%3ELOG_W(%22%E4%BB%A5%E9%99%8D%E3%81%AE%E9%80%9A%E4%BF%A1%E3%81%AF%E6%9A%97%E5%8F%B7%E5%8C%96%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%22)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E6%8E%83%E9%99%A4%EF%BC%9A%3C%2FDIV%3E%3CDIV%3Eif%20(kStatus_SSS_Success%20%3D%3D%20status)%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_I(%22se05x_MandatePlatformSCP%20%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E6%88%90%E5%8A%9F!!!...%22)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%E3%81%9D%E3%82%8C%E4%BB%A5%E5%A4%96%20%7B%3C%2FDIV%3E%3CDIV%3ELOG_E(%22se05x_MandatePlatformSCP%20%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F!!!...%22)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%E3%82%BA%E3%82%AA%E3%83%B3%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2372675%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20enable%20Platform%20SCP%20when%20using%20SE050%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2372675%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F252826%22%20target%3D%22_blank%22%3E%40yang_lee%20%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E7%AC%AC6%E7%AB%A0%E3%81%A7%E7%B4%B9%E4%BB%8B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E4%BE%8B%E3%81%AFSE050E%E5%B0%82%E7%94%A8%E3%81%AE%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E3%81%BE%E3%81%9A%E3%81%AF%E3%81%94%E8%87%AA%E8%BA%AB%E3%81%8C%E3%81%A9%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E1.MCUXpresso%20SDK%20%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%816.2%20%E3%81%8A%E3%82%88%E3%81%B3%206.3%20%E3%81%AE%E6%89%8B%E9%A0%86%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E2.%20CMake%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%816.4%E3%81%8A%E3%82%88%E3%81%B36.5%E3%81%AE%E6%89%8B%E9%A0%86%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%81%8A%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A6%E3%81%B0%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%81%99%E3%81%A6%E3%81%8D%E3%81%AA%E4%B8%80%E6%97%A5%E3%82%92%E3%80%81%3CBR%20%2F%3E%E3%82%AB%E3%83%B3%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E-------------------------------------------------------------------------------%3CBR%20%2F%3E%E6%B3%A8%E8%A8%98%EF%BC%9A%3CBR%20%2F%3E%E3%81%93%E3%81%AE%E6%8A%95%E7%A8%BF%E3%81%8C%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E8%B3%AA%E5%95%8F%E3%81%B8%E3%81%AE%E5%9B%9E%E7%AD%94%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%80%8C%E6%AD%A3%E8%A7%A3%E3%81%A8%E3%81%97%E3%81%A6%E3%83%9E%E3%83%BC%E3%82%AF%E3%80%8D%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3CBR%20%2F%3E%20-%20%E6%9C%80%E5%BE%8C%E3%81%AE%E6%8A%95%E7%A8%BF%E3%81%8B%E3%82%897%E9%80%B1%E9%96%93%E3%81%AFThread%E3%82%92%E3%83%95%E3%82%A9%E3%83%AD%E3%83%BC%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%81%9D%E3%82%8C%E4%BB%A5%E9%99%8D%E3%81%AE%E8%BF%94%E4%BF%A1%E3%81%AF%E7%84%A1%E8%A6%96%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E5%BE%8C%E6%97%A5%E3%80%81%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E8%B3%AA%E5%95%8F%E3%81%8C%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E6%96%B0%E3%81%97%E3%81%84Thread%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%80%81%E9%96%89%E3%81%98%E3%82%89%E3%82%8C%E3%81%9F%20Thread%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3CBR%20%2F%3E-------------------------------------------------------------------------------%3C%2FP%3E%3C%2FLINGO-BODY%3E