ExportKeypair fail
出现ExportKeyPair fail的原因是在ExportKeyPair函数中,SDF_ExportECCPubKey和SDF_ExportECCPriKey函数执行后,导出的公钥或私钥与预期的pubKey或priKey不一致。具体到pubKey diff的错误提示,意味着导出的公钥与预期的公钥不匹配。
原因分析
-
- 导出的公钥内容错误:在sdf.c中实现的SDF_ExportECCPubKey函数以及SDF_ExportECCPriKey函数可能没有正确地导出预期的公钥内容。可能是因为硬编码的公钥内容与main.c中预期的pubKey和prikey不一致。
-
- 预期公钥pubKey和prikey的定义错误:在main.c或其它相关代码中,预期的pubKey和prikey可能没有被正确定义或初始化。
解决方案
-
- 检查并修正SDF_ExportECCPubKey以及SDF_ExportECCPriKey函数的实现:确保该函数能够正确导出预期的公钥。如果公钥是硬编码的,需要确保它与main.c中预期的pubKey和prikey完全一致。
-
- 核对pubKey和prikey的定义和初始化:在main.c中查找pubKey的定义和初始化代码,确保其值是正确的,并且与sdf.c中SDF_ExportECCPubKey函数以及SDF_ExportECCPriKey函数导出的公钥匹配。
// 将预期的公钥复制到输出参数pucPublicKey中
memcpy(pucPrivateKey, priKey, sizeof(priKey));
memcpy(pucPublicKey, pubKey, sizeof(pubKey));