我正在尝试验证分离的 PKCS#7 签名。使用 WIN32 CryptoAPI 函数 CryptSignMessage() 生成的文件。文件在客户端签名,但必须在服务器端 FreeBSD 验证。所以我不能使用 CryptoAPI。
请帮助我确定如何将 OpenSSL 用于此类任务。现在我有两个文件 FILENAME.xml 和 FILENAME.xml.sig 包含签名信息。根据规范,该文件包括“指定内容的散列,对散列进行签名,然后对原始消息内容和签名的散列进行编码”。我发现它还包含证书。使用 openssl 我可以从此文件中检索公钥和证书,但我不知道如何检索签名信息?
所以我试图从这个文件中检索信息,比如公钥和签名,以便与 openssl 命令一起使用
openssl dgst -verify PUBLIC_KEY_FILE -signature SIGNATURE_FILE -md_gost94 FILENAME.xml 验证失败
还有可以从这个文件中读取所有信息的服务。http://notary.cryptopro.ru/Detached.aspx
Information about EDS:
Algortim hashing:
Name:
GOST R 34.11-94
ID:
1.2.643.2.2.9
Algortim public key:
Name:
GOST R 34.10-2001
ID:
1.2.643.2.2.19
Value:
2DEA 8713 5AS2 69AA 34E0 B333 EF61 3773 5CF1
3BC4 BAD0 1745 0DDD 9577 FFAE BA4A A9EB A8CF
64B9 C338 1513 8BDB C478 BA3A 5409 6419 03A6
DD3A 04D2 D132 3319 8031
Serial Number: 1F11 EF05 0001 0000 1032
也许我不明白一些事情。请帮忙。有可能吗?