c - 寻找 C w/openssl 等效于 java bouncycastle SHA256withRSA 签名
问题描述
好吧,我已经为此苦恼了两天多。我需要在 c 中编写代码,使用 openssl 库,相当于以下 java 代码:
byte[] result = null;
Signature st = Signature.getInstance(BC_PROV_ALGORITHM_SHA256RSA, "BC");
st.initSign(privateKey);
st.update(data);
result = st.sign();
return result;
最明显的方法是这个
RSA_sign( NID_sha256, ( const BYTE* ) pszMessage256Hash,
strlen( pszMessage256Hash), ( unsigned char *) pSignature,
&iSignLen, pPrivateMerchantKey )
已经检查过密钥是否相同,并且 pszMessage256Hash 的内容与 java.util.Data 中的“数据”变量相同。由于填充结果每次都不同,但是服务器端验证拒绝第二个签名。
正如我所说,任何帮助将不胜感激,我在这方面浪费了太多时间。
解决方案
推荐阅读
- visual-studio-code - 如何“附加 Visual Studio 代码”到远程 EC2 实例上的容器
- java - 关于flutter Android License Status Unknown的问题
- string - 如何用精确匹配做 indexOf?
- java - 上传期间的图像质量损失
- aurelia - 创建新的 Aurelia CLI 1.3.0 项目时出错
- python - 使用 Python 中的 Requests 模块登录具有两步登录的页面?
- angular - Angular 8 急切加载模块(包括应用程序模块)不会出现在 chrome 开发工具中
- powershell - 如何判断我当前的 PowerShell 会话是否通过 SSH?
- javascript - SharePoint 2013 客户端自定义 Javascript 搜索框,能够将结果填充到 HTML 表中
- spring-boot - 对于处理遗留问题的微服务架构,什么是有据可查的缓存策略模式?