
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.10.2016, 13:52
|
|||
|---|---|---|---|
|
|||
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Сразу оговорюсь: я совершенный новичок в этом вопросе так что не ругайтесь шибко... Итак, возникла необходимость в шифровке отправляемых писем с помощью PGP. Гугл подсказал что самая популярная бесплатная библиотека для данных целей на сегодня Bouncy castle, которая соответственно была выбрана. Письмо (с приложениями, что важно в моем случае) создается таким незатейливым способом: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Тут сам текст кодируется. Метод таков: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Ну и ключ достается таким образом: Код: java 1. 2. 3. 4. 5. 6. 7. 8. Вышенаписанное работает ожидаемым образом. Письма приходят - почтовик просит пароль к приватному ключу и их показывает. Мир да благодать, но это увы не все. Далее встает вопрос о шифровании приложений. Для этой цели создан вот такой метод: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Метод сам по себе тоже как будто работает - файл получается зашифрованный. Если сохранить его на диск и дешифровать скажем в кассандре (под виндой) содержимое файла "восстанавливается". ОДНАКО все вместе не работает. Т.е. если отправить письмо с зашифрованным текстом и вложением, то "почтовик" у клиента дешифрует только текст - вложение остается зашифрованным, что не происходит если отправить аналогичное письмо зашифрованным из почтовой программы. Вопрос: что не так? В голове витает мысль что шифровать наверное стоит не "части", а MimeMessage все в целом, однако добиться этого пока не выходит. Нашел несколько примеров с шифрованием MessageBody, однако там используется некий Х509 сертификат (я так понимаю чтобы подписать это), чего мне не нужно. Без него не проходит (ну или я неверно попытался). Ткните пожалуйста что посмотреть! Заранее огромное спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2016, 14:57
|
|||
|---|---|---|---|
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Рекомендую сравнить письма, в частности заголовки Content-Type тела и аттачментов и наличие отметок о начале/конце PGP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2016, 15:15
|
|||
|---|---|---|---|
|
|||
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Andrei T, Спасибо уже за то что дочитали так много до конца:) Попробую посмотреть с этого бока... Так выглядит сообщение, зашифрованное средствами "почтовика": ... Content-Type: multipart/mixed; boundary="------------070003080703070604020509" This is a multi-part message in MIME format. --------------070003080703070604020509 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable -----BEGIN PGP MESSAGE----- Charset: ISO-8859-15 Version: GnuPG v2 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ =20 hQEOA36s1tjekYbVEAP/aIwC8+SfoAHlcuUdmbsLMGjRL3dXjPOVHIL5ssDm9s8s ... -----END PGP MESSAGE----- --=20 This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. --------------070003080703070604020509 Content-Type: application/octet-stream; name="Nachvers.pdf.pgp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Nachvers.pdf.pgp" hQEOA36s1tjekYbVEAQAmpN50g3oD/S7atXHmwKCrOTQ3L3kiHoz4cooJVCO ... --------------070003080703070604020509-- А вот то что отсылает моя программа: ... Content-Type: multipart/mixed; boundary="----=_Part_0_1556173561.1476784377449" ------=_Part_0_1556173561.1476784377449 Content-Type: multipart/related; boundary="----=_Part_1_179915314.1476784377459" ------=_Part_1_179915314.1476784377459 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit -----BEGIN PGP MESSAGE----- Version: BCPG v1.55 hQEMAwONeOFeNcJpAQf9EBtz8GQqvr6WblIz/3MrL3zxM0Wl/Um9rD6YwGWKlcqR ... -----END PGP MESSAGE----- -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ------=_Part_1_179915314.1476784377459-- ------=_Part_0_1556173561.1476784377449 Content-Type: application/octet-stream; name="C:\\Temp\\TESTcrypt.txt.pgp" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="C:\\Temp\\TESTcrypt.txt.pgp" -----BEGIN PGP MESSAGE----- Version: BCPG v1.55 hQEMAwONeOFeNcJpAQf/be82EXbt9psD7t6qE9ML3qbJ5UcJ11PTZFjgqtD2lIuw ... -----END PGP MESSAGE----- ------=_Part_0_1556173561.1476784377449-- Из разницы "бросается" в глаза что у меня шифровка 7 бит а не base64 и что в оригинале есть фраза "This is a multi-part message in MIME format", которая говорит видимо о том что мы имеем сообщение со вложениями. Насчет первого можно поковыряться (однако текст таки "вскрывается" корректно, так что не думаю что это причина), а вот в чем может быть причина второго для меня загадка - ведь сообщение приходит с вложением.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2016, 15:53
|
|||
|---|---|---|---|
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Я думаю проблема в том, что в вашем сообщении MIME-тип multipart/related, и при этом part1 идет перед part0, при чем не исключено, что это проблема специфична именно для вашего почтового клиента... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2016, 16:10
|
|||
|---|---|---|---|
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Судя по тому что пишут в инете, стоит вообще избавиться от multipart/related, т.к. этот тип содержимого предполагается использовать только для inline-вложений (к примеру HTML + gif). Клиенты вроде как могут отображать отдельные части multipart/related-сообщения как аттачменты (по крайней мере такая инфа есть в багтрекере Thunderbird -- тут как раз может играть свою роль порядок номеров, про к-й я написал выше). Но с формальной т.з. такой формат является некорректным, плюс у вас еще и шифрование, вполне возможно что на такую ситуацию создатели юнит-тесты не подумали написать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.10.2016, 11:17
|
|||
|---|---|---|---|
|
|||
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Уважаемый Andrei T, низкий вам поклон и огромное СПАСИБО! Ваши советы оказались именно тем что требовалось, и право сам бы я до этого не дошел. Вышеприведенный код в целом верен. Окончательно помогло следующее: стоит вообще избавиться от multipart/related Код: java 1. 1 = MULTIPART_MODE_MIXED , а варинт с "true" возвращал "multipart/related": @param multipart whether to create a multipart message that * supports alternative texts, inline elements and attachments * (corresponds to MULTIPART_MODE_MIXED_RELATED) тут как раз может играть свою роль порядок номеров, про к-й я написал выше Код: java 1. 2. 3. 4. т.е. сначала аттачмент, а потом текст, что для меня вообще не логично, но таки работет! Придвижу дальше миллион проблем с другими почтовиками и прочими радостями, но хотя бы на сегодняшний день это выдает нужный результат. Еще раз спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.10.2016, 15:26
|
|||
|---|---|---|---|
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Руслан, не за что! Если не затруднит, проясните пожалуйста - поменять местами addAttachment и setBody помогает само по себе, без изменения multipart_mode? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.10.2016, 17:57
|
|||
|---|---|---|---|
|
|||
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Andrei T, Не проверял только изменение порядка следования, потому что сделал сначала multipart - одно это не помогло. Проверю без проблем сработает ли только изменение порядка, но извините не могу прямо сейчас проверить - сервер упал. Завтра сделаю отпишусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2016, 11:13
|
|||
|---|---|---|---|
|
|||
Подскажите мне про PGP шифрование с помощью Bouncy castle |
|||
|
#18+
Andrei T, Только изменение порядка следования шифрования с применением "дефолтного" MULTIPART_MODE_MIXED_RELATED не работает. Во всяком случае с thunderbird (win7) эффект достигается только в результате комбинации шифрования в "правильной" очереди с MULTIPART_MODE_MIXED. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2123593]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 296ms |

| 0 / 0 |
