[sisyphus] OpenSSL
Dmitriy Shadrinov
=?iso-8859-1?q?shadrinovdd_=CE=C1_ystu=2Eru?=
Вт Май 15 01:45:33 MSD 2007
Использую 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. Это оказалось препятствием для
системы-получателя. Она упорно утверждала, что подпись неверна, пока я вручную
не убрал CR. Да, все исходные файлы не содержать CR.
Удалось выяснить, что добавление CR происходит на последнем шаге - при
добавлении подписи. Так же известно, что на старом OpenSSL-0.9.7a такого не
происходит.
Временно решил проблему использованием ключа -binary.
Вот что получается в результате (без -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--
Подробная информация о списке рассылки Sisyphus