/****************************************SM2 encrypt test*****************************************/
//SM2-ENCRYPT
key.alg = ALG_SM2;
key.id = 0x15;//0x0F;
in_len = 250; //????320??¡Á???????????????????250??¡Á???
port_printf("api_asym_encrypt in_buf:\n");
for(i = 0;i<in_len;i++)
{
port_printf("%02x",in_buf[i]);
}
port_printf("\n");
ret = api_asym_encrypt (&key, &asym_param, in_buf, in_len, out_buf, &out_buf_len);
if ( ret != SE_SUCCESS)
{
LOGE("failed to api_asym_encrypt!\n");
return ret;
}
port_printf("api_asym_encrypt out_buf:\n");
for(i = 0;i<out_buf_len;i++)
{
port_printf("%02X",out_buf[i]);
}
port_printf("\n");
//64????"9FEC3017F82513E99DF75BFB8330EC1795BEAB2E4F50D8D5056FD6E77F90C3080D60BB57C91FC293E3EFB958057A6195BA061ADC7B224A4D59D9460CDE091F9FD4CDAD021507B1ADFF13CF374E70F21A540930E36D0E62B6D0F607441ED0E70D27C6C1ECB7E20BD96FE253AC436F27D3D6C9C71F248EC3EAEC5B0B3EB979E0FD6943C000689BE0C4EB859A6FE72FF9CFFF6D15ACDDFBA19F3E195399F094E805"
//250????"3AEC3654B9D284D922AF73203E4CD9C5AA8483D6F0B4D16A29971FF516C8F13D91B826D2B7186FB2E5223900A93AA61CCFF5EE1401AE6027653A0F81168B91B1FF896CEF3059E898117E1091B0E27CD6E63CD9BF04455079EE327B4009476527786589E987E170983D19B2C063038240B474AD10A3AB0891EF39B9450241AB95B470200CCD5A8A52C6B5BCBA09B9D44550E92A1367F3A68C8C69A2C659E32BF3C5E61BC3033A064E8F7FF08318F9E5B9B134831684A2DF3A10CECA5F7E303B1C70DD78A180EDFF8A9E162290B8FB0D3CD482C38FF7230B721AB4B4D9B50345F3B03C8322C01BF3383E561BF2C6A027DE94F1B3E816163DFDF579E4FE94E26FF67954B4EECFE928795737F883F8C399EA31665D289837E2370B3347F94FC428FE52FE63789F819378A737EED088F45F4CCA9FE176EF39DEF1510A53BAA68835AF0F8DD514DD98E412DDB13066DAD6BB9FC9B53E858D38E87CC7F5"
//256????"3AEC3654B9D284D922AF73203E4CD9C5AA8483D6F0B4D16A29971FF516C8F13D91B826D2B7186FB2E5223900A93AA61CCFF5EE1401AE6027653A0F81168B91B1FF896CEF3059E898117E1091B0E27CD6E63CD9BF04455079EE327B4009476527786589E987E170983D19B2C063038240B474AD10A3AB0891EF39B9450241AB95B470200CCD5A8A52C6B5BCBA09B9D44550E92A1367F3A68C8C69A2C659E32BF3C5E61BC3033A064E8F7FF08318F9E5B9B134831684A2DF3A10CECA5F7E303B1C70DD78A180EDFF8A9E162290B8FB0D3CD482C38FF7230B721AB4B4D9B50345F3B03C8322C01BF3383E561BF2C6A027DE94F1B3E816163DFDF579E4FE94E26FF67954B4EECFE928795737F883F8C399EA31665D289837E2370B3347F94FC428FE52FE63789F819378A737EED088F45F4CCA9FE176EF39DEF1510A53BAA68835AF0F8DD514DD98E412DDB13066DAD6BB9FC9B53E858D38E87CC7F5"
//f9e827b75633cdfb891478fd87c5d1fcf2aa6fdf310f094bcfffd860f54a3a594c10b309b7c081aa3cb4c456194cffb1caa1ca7d91b3f7bf8167b3abbf2089ad79cac7113603eed8798a062100db886780518ed0dbd3888f4fcd1953c64bb595e46c5979b138e5709ada5bb38c201356a84760aed3bd90f86d165131bb107468a08232ad39fa9a738cedcb5bceb2f8b2
strcpy(s_refer_buf,"F8021982669E40722591837708FC2024AE0D0E9CAD4A66016B19ED02ACAD532741BAE2A60B248C9E088F447009FB3BFC659444680E6E9B7C58347E66B057EA037A36DABF92B5AD040F9EDCBA9917AB90C60FA947E5857AC229E3F0917492BBEEB4FBF7A1B749FEB5A0BA62259F3F03CE1AA143497A470B202FAFEA676EDEACD25C5C2C44441954E9B47D7AFA5FCB0AD1B85AC669BB62ED6DD01CF4CFEE235714969590B25E9C97F6B22405DC82DBEFD5DB18225897F87C9FB745BA84826FA3A57FAE28793A2B2E0712BCE2E0B0E29E3421EC36C3B04F8307AB0AFB29F1AD5B65FECD07A4CF830E9539F8FE9852742E780849D313F7B52D5B6F62AB5FA661");
s_refer_buf_len = 508; //¡Á?¡¤????¡è??
StringToByte(s_refer_buf,refer_buf,s_refer_buf_len); //¡Á?????¡Á???
refer_buf_len = s_refer_buf_len/2;
key.id = 0x16;
port_printf("api_asym_decrypt refer_buf:\n");
for(i = 0;i<refer_buf_len;i++)
{
port_printf("%02x",in_buf[i]);
}
port_printf("\n");
ret = api_asym_decrypt (&key, &asym_param, refer_buf, refer_buf_len, out_buf, &out_buf_len);
if ( ret != SE_SUCCESS)
{
LOGE("failed to api_asym_decrypt!\n");
return ret;
}
port_printf("api_asym_decrypt out_buf:\n");
for(i = 0;i<out_buf_len;i++)
{
port_printf("%02x",out_buf[i]);
}
port_printf("\n");
if(memcmp(out_buf,in_buf,out_buf_len)!=0)
{
LOGE("failed to api_asym_decrypt comparison!\n");
return 0xFFFFFFFF;
}
|