Отговори на тема  [ 10 мнения ] 
SMTP, TLS криптиране - проблем при изпращане на e-mail 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 28, 2005 10:49 am
Мнения: 86
Местоположение: Русе
Мнение SMTP, TLS криптиране - проблем при изпращане на e-mail
Опитвам се да направя много прост email клиент (на ниво хардуер - но мисля че принципно това няма значение). За целта потребителя въвежда например email сървър, получател, изпращач... и накрая "изпращане".
Започнах да тествам изпращане на email през telnet и стригнах до задънена улица.
Например:
telnet smtp.gmail.com 587
...
...
...
и стигам до STARTTLS

Въпросът ми е както представлява този TLS протокол и по конкретно как мога да го имплементирам - няма значение на какъв език - трябва ми алгоритъма, за да мога да комуникирам със сървъра и да изпращам email-и. До колкото разбрах от ровенето в нета - това представлява base64 криптиране, но не ми е ясна самата последователност какво трябва да се изпрати след Starttls и по какъв начин.
Благодаря предварително.


Пет Дек 03, 2010 10:30 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение Re: SMTP, TLS криптиране - проблем при изпращане на e-mail
leotron написа:
Опитвам се да направя много прост email клиент (на ниво хардуер - но мисля че принципно това няма значение). За целта потребителя въвежда например email сървър, получател, изпращач... и накрая "изпращане".
Започнах да тествам изпращане на email през telnet и стригнах до задънена улица.
Например:
telnet smtp.gmail.com 587
...
...
...
и стигам до STARTTLS

Въпросът ми е както представлява този TLS протокол и по конкретно как мога да го имплементирам - няма значение на какъв език - трябва ми алгоритъма, за да мога да комуникирам със сървъра и да изпращам email-и. До колкото разбрах от ровенето в нета - това представлява base64 криптиране, но не ми е ясна самата последователност какво трябва да се изпрати след Starttls и по какъв начин.
Благодаря предварително.


точно с gmail няма да стане (лесно) както го мислиш - за там ти трябва SSL връзка!
пробвай с някой "стандартен" SMTP акаунт (добрия стар порт 25 :))!


Пет Дек 03, 2010 10:45 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Дек 19, 2005 12:21 pm
Мнения: 1037
Мнение 
Колко ресурси имаш на този хардуер? В такива случаи аз винаги предпочитам ползването на някаква готова библиотека. Няма смисъл да се отркива топлата вода, а и надали това, което ще напишеш ще отговаря на протокола по RFC.

Иначе ако ти знаеш, че ще ползваш точно определен пощенски сървър не е проблем и да начаткаш няколко SMTP команди докато работата тръгне. Но ако ще го даваш на клиенти и техния пощенски сървър се окаже, че не точно същия като твоя, или пък е конфигуриран по друг начин ще имаш проблеми. В такива случаи трябва да спазваш стриктно и пълно стандарта, за да си сигурен, че какъвто и да е сървъра отсреща ще се разберете.


Пет Дек 03, 2010 11:37 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Юли 11, 2007 10:16 am
Мнения: 1730
Мнение 
http://sourceforge.net/projects/phpmailer/
На PHP е библиотеката, но не мисля, че ще имаш проблем с разбирането на TLS-то.
Относно порта на TLS-то - пак си е на 25-ти порт... пак всичко минава в чист текст, само дето аутентификацията е кодирана.


Пет Дек 03, 2010 12:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
michev написа:
... пак всичко минава в чист текст, само дето аутентификацията е кодирана.


това "само" - не е никак малко - за човек дето и хабер си няма :)
(да ме извинява колегата :))


Пет Дек 03, 2010 1:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение 
Някой успешно смесва понятия като криптиране, ниво хардуер, е-майл, телнет и прочие ....
то успешно можеш да смесиш уиски и белина, ма въпроса е на кой ще го пробуташ да го пие :P

В смисъл автора на темата не е изяснил какво точно иска да напише/направи/реализира, а е оставил на другите участници да предлагат решения според техните разбирания на темата

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Пет Дек 03, 2010 2:51 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 28, 2005 10:49 am
Мнения: 86
Местоположение: Русе
Мнение Re: SMTP, TLS криптиране - проблем при изпращане на e-mail
ps66 написа:
leotron написа:
Опитвам се да направя много прост email клиент (на ниво хардуер - но мисля че принципно това няма значение). За целта потребителя въвежда например email сървър, получател, изпращач... и накрая "изпращане".
Започнах да тествам изпращане на email през telnet и стригнах до задънена улица.
Например:
telnet smtp.gmail.com 587
...
...
...
и стигам до STARTTLS

Въпросът ми е както представлява този TLS протокол и по конкретно как мога да го имплементирам - няма значение на какъв език - трябва ми алгоритъма, за да мога да комуникирам със сървъра и да изпращам email-и. До колкото разбрах от ровенето в нета - това представлява base64 криптиране, но не ми е ясна самата последователност какво трябва да се изпрати след Starttls и по какъв начин.
Благодаря предварително.


точно с gmail няма да стане (лесно) както го мислиш - за там ти трябва SSL връзка!
пробвай с някой "стандартен" SMTP акаунт (добрия стар порт 25 :))!


@ps66 До колкото съм наясно порт 25 не е за препоръчване. Да вярно - изпращането на e-mail става "лесно", но проблемът е друг - много сървъри не подържат порт 25 заради спамовете. За мен също би било много по лесно да реазлизирам клиент през порт 25 (както и вече направих такъв), но не е това което търся. Благодаря все пак !

radolin написа:
Колко ресурси имаш на този хардуер? В такива случаи аз винаги предпочитам ползването на някаква готова библиотека. Няма смисъл да се отркива топлата вода, а и надали това, което ще напишеш ще отговаря на протокола по RFC.

Иначе ако ти знаеш, че ще ползваш точно определен пощенски сървър не е проблем и да начаткаш няколко SMTP команди докато работата тръгне. Но ако ще го даваш на клиенти и техния пощенски сървър се окаже, че не точно същия като твоя, или пък е конфигуриран по друг начин ще имаш проблеми. В такива случаи трябва да спазваш стриктно и пълно стандарта, за да си сигурен, че какъвто и да е сървъра отсреща ще се разберете.


@radolin За съжаление няма готова библиотека, но ресурсите са достатъчни за да се направи email клиент, тъй като както вече споменах успях (сравнително лесно) да направя клиент през порт 25. Например моя ISP е БТК и както е известно всички emial-и минават през техния сървър. Проблемът е, че не всеки ще има достъп до този БТК сървър или до сървър с достъп през порт 25 и без криптиране. Точно за това трябва да преодставя на клиента да въведе сървър, порт username, password, възможност за auth login и SSL. Нямам и SSL библиотека :( Проблемът ми не е в самия SMTP протокол, а в алгоритъма за криптиране, който използват по известните email сървъри, как да го разпозная/намеря как да криптирам и декриптирам. Например smtp.gmail.com в самото начало на сесията ми връща някакъв ключ - явно трябва да го използвам някак си... именно това не ми е ясно. Благодаря за помощта !

michev написа:
http://sourceforge.net/projects/phpmailer/
На PHP е библиотеката, но не мисля, че ще имаш проблем с разбирането на TLS-то.
Относно порта на TLS-то - пак си е на 25-ти порт... пак всичко минава в чист текст, само дето аутентификацията е кодирана.


@michev
Да, прегледах набързо линка, описанието и самата библиотека, но това е на прекално високо ниво, аз също намерих библиотека (но за java). Интересното е че тази библиотека работи например с smtp.gmail.com 587, но не мога да видя как са го реазлизирали на по ниско ниво. Ако някой се интересува от тази библиотка, това е линка - http://www.chilkatsoft.com/dotnetemail.asp. Благодаря за помощта !

MYXATA написа:
Някой успешно смесва понятия като криптиране, ниво хардуер, е-майл, телнет и прочие ....
то успешно можеш да смесиш уиски и белина, ма въпроса е на кой ще го пробуташ да го пие Razz

В смисъл автора на темата не е изяснил какво точно иска да напише/направи/реализира, а е оставил на другите участници да предлагат решения според техните разбирания на темата


@MYXATA
Прав си - наистина не съм се изразил като хората. Дано от сегашния ми пост да стане по ясно какво искам да направя. Благодаря !

Ето и още веднъж какъв е проблемът. Трябва да направя SMTP email клиент чрез определена хардуерна платформа. Разполагам със TCP и UDP сокети. Нямам никаква готова библиотека за email. Най доброто до момента което направих успешно е клиент който изпраща email-и през сървъра на BTK (порт 25) - без auth login и без TLS. Нужадя се обаче от по добър клиент, който да работи например с по известните сървъри smtp.gmail.com smtp.hotmail.com или всякъкви други email сървъри с auth login и TLS.

Благодаря предварително!


Нед Дек 05, 2010 3:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Дек 19, 2005 12:21 pm
Мнения: 1037
Мнение Re: SMTP, TLS криптиране - проблем при изпращане на e-mail
@radolin За съжаление няма готова библиотека, но ресурсите са достатъчни за да се направи email клиент

Добре де, кажи конкретно за какво иде реч - 8 битов ПИК/АВР ли е, някакъв ARM с мегабайти RAM/FLASH ли е? С колко разполагаш? Ползваш ли някакъв OS или директо пишеш върху желязото? Какъв TCP/IP стек ползваш?


Нед Дек 05, 2010 4:17 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Вто Яну 31, 2006 11:11 pm
Мнения: 295
Местоположение: София
Мнение Re: SMTP, TLS криптиране - проблем при изпращане на e-mail
leotron написа:
До колкото съм наясно порт 25 не е за препоръчване. Да вярно - изпращането на e-mail става "лесно", но проблемът е друг - много сървъри не подържат порт 25 заради спамовете.


Това не е вярно. Досега не съм виждал меил сервер който да не поддържа порт 25.
Интернет доставчиците блокират пращането към порт 25 заради спама, но това незначи че меил серверите не го поддържат.


Нед Дек 05, 2010 4:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Юли 11, 2007 10:16 am
Мнения: 1730
Мнение 
Цитат:
PolarSSL is a light-weight open source cryptographic and SSL/TLS library written in C. PolarSSL makes it easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) applications with as little hassle as possible.
....
....
PolarSSL is written with embedded systems in mind and has been ported to a large number of architectures, including ARM, PowerPC, MIPS and Motorola 68000.

http://polarssl.org/
Atmel doc32111


Нед Дек 05, 2010 5:12 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 10 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни