java - 将构造签名消息的操作拆分为两部分
问题描述
我的任务是用给定的私钥和证书对给定的数据进行签名,并输出签名的消息(DER 编码)。它遵循 RFC 3370 的 CMS 标准,签名为 RSASSA_PKCS1_V1_5。
openssl
我可以从命令行使用此操作:
openssl cms -sign -in indata -nodetach -inkey private.key -signer public.cert -out outdata.der -outform DER
我的问题是,我想将签名行为和消息构建行为分开。AFAIK 用于签名,我们需要私钥,而为了构建消息,我们需要证书中的数据。所以理想情况下我想这样做:
openssl cms -sign -step 1 -in indata -inkey private.key -out signature.bin
openssl cms -sign -step 2 -in indata -signature signature.bin -signer public.cert -out outdata.der -outform DER
有没有办法在 C、C++ 或 Java 中使用的任何加密库中做到这一点?
解决方案
推荐阅读
- azure - Azure Pipeline 无法构建 Azure Function App
- php - 使用命令行生成 Laravel 测试
- python - 在 python 中,如何解决 ModuleNotFoundError: No module named '***' 问题?
- tensorflow - Layer.add_loss() 的目的和直觉是什么?它是如何工作的?它是否只计算当前层的损失?
- javascript - 我正在尝试发出 POST 请求以获取接收访问令牌,但是我收到未定义的。请问我该如何解决?
- javascript - Javascript中的堆栈和调用堆栈有什么区别?
- javascript - 引导表动态数据表不起作用搜索选项和分页
- python - Postgresql & Psycopg2 无法正确选择两个日期之间的数据
- flutter - 将快照数据从一个 dart 文件传递到颤振项目中的另一个文件
- uwp - Microsoft Graph 错误 - 将文件上传到 OneDrive 时找不到段“根:”的资源