当前位置: 首页 > 知识库问答 >
问题:

使用带有CMS_CADES标志的CMS_sign(),包括符合CAdES的证书链。我必须使用CMS_PARTIAL标志吗?

谷梁博易
2023-03-14

以下内容会生成符合CADES的消息签名吗?

CMS_sign()的API文档似乎表明,为了将SHA256用于消息摘要,我需要使用标志“CMS_PARTIAL”。此外,OpenSSL的CAdES补丁似乎暗示了CMS_PARTILL并手动调用“CMS_ADD1_SIGNING_CERT_V2()”,后面跟着“CMS_FINAL()”。但是我希望在CMS_sign()中添加CMS_CADES标志就足够了。因此提出了这个要求。

如果SHA256是生成消息摘要所需的方法,我是否必须使用CMS_PARTIAL?

CMS_ContentInfo*CMS_SIGN(signcert、EVP_PKEY*pkey、STACK_OF(X509)*intermediate_certs、BIO*data、CMS_DETACHED CMS_CADES);

共有1个答案

薄伟彦
2023-03-14

我使用OPENSSL 3.0.0-Alpha4在Ubuntu上测试了自己的代码。CMS_sign()by默认使用SHA2256。因此,对3的回答是否定的:不需要使用CMS_PARTILL标志来提取SHA256作为MD。

 类似资料:
  • 问题内容: 我正在编写一个使用librt的小型C程序。如果将链接标志放在开头而不是结尾,程序将无法编译,我感到很惊讶: 此刻,我要编译程序: 如果执行以下操作,它将无法在librt中找到函数: 但是,这可以与其他库一起使用。我在尝试使用简单的Makefile时发现了问题。进行实际编译的prog.c而不先喜欢(使用-c标志),然后进行链接。 这是Makefile: 键入make时,我得到的输出将是:

  • 我有以下名为的数据帧,我想将该数据帧子集为只有列有1和0的ID。下面的示例将删除=1,因为它只有1(而不是0)。 预期产出: 我怎么能这么做?我想一个团体会有帮助?但不确定如何正式地进行

  • 伙计们!我正在尝试使用bouncycastle创建X.509证书,它应该由另一个证书签名并存储它的PEM base 64格式。 我已经有了自签名证书(公钥和私钥)。现在我要创建一个新的,并用现有的自签名证书签名。 验证无例外地通过了,这意味着从我的观点来看,它是由Cacert成功签署的: 然后将其解码到PEM base 64:

  • 我一直在将s写入,而不关注flags字段,这是方法签名中的一个参数,它工作得很好,但我遇到了一个无法再忽略它们的实现: 这是我编写的一个到实用程序/从到/从实用程序,我想知道在编写它们时,是否应该将标志按原样传递给Key和Value,或者应该为Key传递0,而为Value传递。 我在文档中读到了什么是标志的定义: PARCELABLE_WRITE_RETURN_VALUE 在API级别1中添加 与

  • 问题内容: 我有一个和。我使用或并且其中有一些我需要的标志。但是我也看到了测试标志。为什么会这样呢?我想念什么? dockerPath和port是我的标志,但是您可以看到其他不是我的标志。 问题答案: 您最有可能使用了程序包的默认标志集()。请注意,您可能不是唯一使用它的人。如果导入其他软件包,它们也可能会注册标志,这些标志将像您自己的标志(已注册的标志)一样进行处理。 看这个简单的例子: 这个程

  • 整个旗帜的事情让我很困惑。网络上的定义看起来很简单。对于这一切,我似乎找不到一个真正合适的解释。 根据它们的定义,-进位:表示无符号整数溢出-溢出:表示有符号整数溢出-零:由零产生的运算-符号:由负数产生的运算 那么下面的句子到底是怎么回事以下说明将设置符号标志:(这里的答案是252不是负数。那么为什么设置符号标志?) > 在8位寄存器中添加7Fh和05h设置溢出标志。(这里的答案是132。它不高