我想从 pkcs7 信封中提取签名。 我该怎么做?
最佳答案
使用 STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7)
检索 PKCS7 中包含的各个 SignerInfo。
要从单个 SignerInfo 获取实际签名,您必须手动访问相应的指针。 PKCS7_SIGNER_INFO 定义为:
typedef struct pkcs7_signer_info_st
{
ASN1_INTEGER *version; /* version 1 */
PKCS7_ISSUER_AND_SERIAL *issuer_and_serial;
X509_ALGOR *digest_alg;
STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */
X509_ALGOR *digest_enc_alg;
ASN1_OCTET_STRING *enc_digest;
STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */
/* The private key to sign with */
EVP_PKEY *pkey;
} PKCS7_SIGNER_INFO;
正确的字段是(有点误导)enc_digest
。
关于openssl - 如何从 pkcs7 信封中提取签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224757/