Bug 11767 - добавление символов CR к блоку с подписанными данными при создании MIME-подписи
: добавление символов CR к блоку с подписанными данными при создании MIME-подписи
Status: NEW
: Sisyphus
(All bugs in Sisyphus/openssl)
: unstable
: all Linux
: P1 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-05-15 11:53 by
Modified: 2014-10-06 00:41 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-05-15 11:53:20
Использую openssl-0.9.8d-alt2 для шифрования некоторых данных, их подписи для
отправки по почте через скрипт. Вот последовательность действий:

# openssl enc -a -in source_file -out base64_file
# openssl smime -encrypt -in base64_file -out encrypted_file -des3
pub_key_dest.pem
# openssl smime -sign -in encrypted_file -out signed_enc_file -signer
pub_key_my.pem -inkey private_key_my.key

В результате получается файл в формате MIME, у которого тело имеет переводы
строк CRLF, в то время как остальная часть LF. При этом генерирует подпись на
данные в формате LF.  OpenSSL 0.9.7a утверждала, что подпись неверна, пока я
вручную не убрал CR. Все исходные файлы не содержат CR.

Удалось выяснить, что добавление CR происходит на последнем шаге - при
добавлении подписи. Так же известно, что на старом OpenSSL-0.9.7a такого не
происходит.

Временно решил проблему использованием ключа -binary.

MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
micalg=sha1; boundary="----B0829AF6F1A2BD2399ED6ED5B4C66ED4"

This is an S/MIME signed message

------B0829AF6F1A2BD2399ED6ED5B4C66ED4
MIME-Version: 1.0^M
Content-Disposition: attachment; filename="smime.p7m"^M
Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data;
name="smime.p7m"^M
Content-Transfer-Encoding: base64^M
^M
MIIKPwYJKoZIhvcNAQcDoIIKMDCCCiwCAQAxggE0MIIBMAIBADCBmDCBkjELMAkG^M
A1UEBhMCUlUxETAPBgNVBAgTCE5vcmRXZXN0MRIwEAYDVQQHEwlZYXJvc2xhdmwx^M
<skipped>
AvDh/PloY/R3QBCN7DhAIJC3CnRE9GbxCTckB4bkzX0ncQGP8SZxP/rwQ8cuhtma^M
th87gg3gjXfy4MFkJyWC3NtImPj27rY7jkKoS8gSdIRd6NI=^M
^M

------B0829AF6F1A2BD2399ED6ED5B4C66ED4
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIIEzgYJKoZIhvcNAQcCoIIEvzCCBLsCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCAqMwggKfMIICCAIBATANBgkqhkiG9w0BAQQFADCBkjELMAkGA1UEBhMC
<skipped>
eWjK2tEySfz1jj3pTKlRNUOswWWaz2e5dlhmnxV2WTD9gXc1wDFz3a2timmjELJ/
oV/i6KkRwUhVa8NLMMFKBt2JEJy6cG1kfVtfW3F46c2F1A==

------B0829AF6F1A2BD2399ED6ED5B4C66ED4--
------- Comment #1 From 2007-05-15 11:57:49 -------
поправка:
с ключом -binary подпись уже не проверяется (Verification failure) сразу.

Без -binary версия 0.9.8d глотает свои результаты, а 0.9.7a - уже нет, до тех
пор пока не сделать:

s/\r//g
------- Comment #2 From 2008-06-13 13:00:39 -------
*** This bug has been confirmed by popular vote. ***
------- Comment #3 From 2014-10-06 00:41:48 -------
openssl-1.0.1h-alt1 поведение такое же