1

我正在尝试使用 OpenSSL(版本 1.0.1)实现数字签名(PKCS7)功能。

我对此比较了解。

使用 API:PKCS7_signPKCS7_verify,我不知道如何为签名设置特定的摘要和/或加密算法。

PKCS7_sign依次调用PKCS7_sign_add_signer,其代表摘要标识符的第 4 个参数已被硬编码为 NULL。这意味着将使用默认的摘要算法。

所以我的问题是:

1)默认使用的摘要和加密算法是什么?

2)有没有办法设置这些默认值?怎么可能呢?

3)假设我签署了一些数据并将其发送给另一方。它如何知道签名中使用的默认算法?[已回答]

4

1 回答 1

0

根据OpenSSL 文档,默认摘要算法为 SHA-1 。

用于签名的“默认”算法取决于您为signkey参数传递的 x509 证书中存在的密钥类型。一般来说,这将是一个 RSA 密钥,但它也可以是一个 DSA 密钥。

于 2013-01-17T21:34:37.533 回答