Выполняя интеграцию с внешним провайдером API, мы оба обменивались нашими открытыми ключами, когда я вызываю API провайдера услуг, а затем подписываю данные своим личным ключом с помощью утилиты openssl cms -sign и когда провайдер возвращает мне ответ, он подписывает данные используя свой закрытый ключ. Поставщик услуг отправляет данные в base64,
Теперь я хочу разбить строку PKCS7 base64, которая содержит данные + подпись, на отдельные: необработанные данные и отдельная подпись PKCS7.
Я использую следующую команду:
openssl cms -verify -in signed_message.txt -out out.txt -signer public_key_of_client_who_signed_the_message.pem
содержимое файла signature_message.txt: (поставщик услуг возвращает только строку base64)
MIME-Version: 1.0
Content-Disposition: attachment; filename="smime.p7m"
Content-Type: application/pkcs7-mime; smime-type=signed-data; name="smime.p7m"
Content-Transfer-Encoding: base64
BASE64 STRING COMING FROM SERVICE PROVIDER
но получаю следующую ошибку:
Error reading S/MIME message
55032:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1220:
55032:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:386:Type=CMS_ContentInfo
55032:error:0D0D106E:asn1 encoding routines:B64_READ_ASN1:decode error:asn_mime.c:192:
55032:error:0D0D40CB:asn1 encoding routines:SMIME_read_ASN1:asn1 parse error:asn_mime.c:518:
Пожалуйста, помогите, как я могу получить необработанные данные и информацию о сертификате.