lixingdian 2025-06-06 09:49 采纳率: 0%
浏览 10

C语言RSA验签程序问题

我的基于mbedtls的库C语言RSA验签的结果和py程序签名不一致,想找出原因。

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-06-06 09:49
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    RSA验签程序问题

    你遇到了基于mbedtls库的C语言RSA验签程序的问题,结果与Py程序签名不一致。下面是一些可能的原因和解决方案:

    1. Key格式不同:mbedtls库使用的Key格式可能不同于Py程序使用的Key格式。请检查Key的格式是否正确,是否需要进行Base64编码或其他处理。
    2. Padding方式不同:RSA验签时,padding方式可能不同。mbedtls库可能使用的是PKCS#1 v1.5 padding,而Py程序使用的是其他padding方式。请检查padding方式是否正确。
    3. Hash算法不同:验签时,使用的Hash算法可能不同。mbedtls库可能使用的是SHA-1,而Py程序使用的是其他Hash算法。请检查Hash算法是否正确。
    4. Signature encoding不同:Signature的编码方式可能不同。mbedtls库可能使用的是DER编码,而Py程序使用的是其他编码方式。请检查Signature的编码方式是否正确。

    解决方案:

    1. 检查Key格式是否正确。
    2. 检查padding方式是否正确。
    3. 检查Hash算法是否正确。
    4. 检查Signature的编码方式是否正确。

    如果以上解决方案不能解决问题,请提供更多的信息和代码,例如mbedtls库的版本、Py程序的代码和Key的内容等。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月6日