Я получаю зашифрованное и подписанное смайм-сообщение.
Расшифровка в порядке, данные кажутся правильными.
openssl.exe smime -decrypt -in %1 -out %1_signed.txt -inkey myPrivate.pem
Но при проверке стадии подписи я получаю ошибку.
openssl.exe smime -verify -CAfile senderCACert.pem -certfile senderCert.pem -in %1 -out %1_plain
Verification failure
7600:error:21071065:PKCS7 routines:PKCS7_signatureVerify:digest failure:./crypto/pkcs7/pk7_doit.c:9
48:
7600:error:21075069:PKCS7 routines:PKCS7_verify:signature failure:./crypto/pkcs7/pk7_smime.c:312:
Отправитель обоих сертификатов (сертификат CA и сертификат клиента) должен быть в порядке.
Я думаю, что openssl может создавать определенные символы во время дешифрования, такие как символ новой строки или что-то еще, чего нет в исходном сообщении. Или он может обрабатывать нестандартный алгоритм (по крайней мере, насколько я знаю, openssl имеет нестандартный формат хранения закрытых ключей)
Я использую openssl 0.9.8h. А смайм-сообщение на другой стороне формируется программным обеспечением «webMethods EDI version 6.5» (это сервер AS2 для обработки сообщений EDI).
В чем причина этой ошибки?
Не могли бы вы посоветовать другой инструмент smime, чтобы попробовать?