This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220SF:公钥格式

Guru**** 2526700 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1117661/cc3220sf-public-key-formatting

器件型号:CC3220SF

我有一个用例、在这个用例中、我的客户会发送证书或 CSR 以及公钥(通过 SL_NETUTIL_crypto_public_key、SL_NetUtilGet ()提取)进行比较、但该公钥似乎是 x9.63格式。 如果服务器从证书或 CSR 中提取公共密钥、则这将是 base64编码 ASN1格式、在比较期间将失败。

通过上述 API 调用提取的公共密钥是否可以返回与 CSR 和证书内的一个等效的 base64编码数据?

此致、

弗兰克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Frank、

    我需要更多时间来研究这一点。 我将在本周结束前回复。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以将 x9.63字符串(按键的十六进制表示法)转换为 base64。

    以下 bash 脚本 是一个示例。 它 从 x9.63密钥创建一个 DER 文件、然后将其转换为 pem (base64):

    pub_hex=1 #输入公共密钥(十六进制后脚本格式、例如0443ac12a…… ,130个字符表示65字节)

    #为 prime256v1添加公钥前缀
    echo 3059301306072a8648ce3d020106082a8648ce3d030107034200 | xxd -r -p > pub.der
    #添加二进制密钥
    echo ${pub_hex}| xxd -r -p >> pub.der
    OpenSSL pkey -pubin -inform der -in pub.der -out pub.pem