首页 > 解决方案 > 将构造签名消息的操作拆分为两部分

问题描述

我的任务是用给定的私钥和证书对给定的数据进行签名,并输出签名的消息(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 中使用的任何加密库中做到这一点?

标签: javacopensslrsapkcs#1

解决方案


推荐阅读