2009-03-25 10 views
6

मेरे पास एक रेल एप्लिकेशन है जो कुछ घटनाओं पर ईमेल ट्रिगर करता है। ये ईमेल एक अलग कंपनी को भेजे जाते हैं जो उत्तर देने पर ईमेल में कुछ अतिरिक्त डेटा जोड़ देगा। यह सब समझा और काम कर रहा है, मैं जवाब निकाल रहा हूं, डेटा निकालने और यह ठीक काम करता है।मैं रूबी पर रूबी में एन्क्रिप्टेड ईमेल कैसे भेजूं और प्राप्त करूं?

अब मुझे ईमेल एन्क्रिप्ट करने के लिए कहा गया है।

क्या किसी के पास ऐसा करने का सबसे अच्छा तरीका कोई अनुभव/विचार है?

मैं गारंटी नहीं दे सकता कि कौन सा ईमेल क्लाइंट तीसरे पक्ष का उपयोग करेगा, इसलिए मुझे ऐसे समाधान की आवश्यकता है जो कई ईमेल क्लाइंटों में सामान्य रूप से काम करेगी। जब मैं ईमेल भेजता हूं और क्लाइंट एप्लिकेशन (आउटलुक, थंडरबर्ड, Entourage इत्यादि) द्वारा जवाब देता है तो एन्क्रिप्शन मेरे आवेदन द्वारा दोनों किया जाना चाहिए। इसके बाद मुझे एन्क्रिप्टेड ईमेल प्राप्त करने, डिक्रिप्ट करने और मुझे आवश्यक नई जानकारी निकालने के लिए पार्स करने की आवश्यकता होगी।

क्या कोई मुझे प्लगइन/दस्तावेजों पर इंगित कर सकता है जो मुझे यह प्राप्त करने में मदद करेगा?

उत्तर

3

यदि दूसरा अंत आपके आवेदन का उपयोग नहीं करता है, तो आपको एस/एमआईएमई या पीजीपी का उपयोग करना चाहिए।

अधिकांश डेस्कटॉप ईमेल क्लाइंट बॉक्स के बाहर एस/एमआईएम का समर्थन करते हैं, और पीजीपी आमतौर पर प्लगइन के रूप में उपलब्ध होता है (थंडरबर्ड के लिए Enigmail है, ऐप्पल मेल के लिए GPGMail इत्यादि) है।

इसके अलावा, एस/एमआईएम को प्रमाण पत्र की आवश्यकता है, जो आप स्वयं को बना सकते हैं या सर्टिफिकेट अथॉरिटी (जैसे Verisign या Thawte) से खरीद सकते हैं, आपकी आवश्यकताओं के आधार पर।

मुझे यकीन है कि रूबी के लिए एस/एमआईएमई और पीजीपी पुस्तकालय हैं, लेकिन एक त्वरित खोज ने मेरे लिए "एक सच्ची लाइब्रेरी" प्रकट नहीं की। हालांकि, आप हमेशा OpenSSL (एस/एमआईएमई के लिए) या GPG को आपके लिए भारी उठाने दे सकते हैं।

+1

http://github.com/bendiken/openpgp –

1

मुझे लगता है कि गुडर का जवाब उत्कृष्ट है, लेकिन ध्यान रखें कि सभी को जरूरी है कि उपयोगकर्ता के पास पहले से ही जीपीजी स्थापित है और एक संबंधित कुंजी उपलब्ध है। ईमेल एन्क्रिप्शन अधिक व्यापक होने के लिए यह गंभीर सेटअप प्रक्रिया बाधा का लगभग 9 5% है।

क्या आप निश्चित हैं कि इस परियोजना को चालू करने वाले व्यक्ति समझते हैं कि यह एन्क्रिप्टेड ईमेल भेजने के लिए कोड में स्विच को फ़्लिप करने जितना आसान नहीं है?

एक विकल्प आपके प्रोग्राम के लिए एक स्थापित प्रबंधन प्रक्रिया में शामिल होना है जो कि जीपीजी (और इसमें शामिल) पर निर्भर करता है। फिर उपयोगकर्ता एक बहुत ही मुश्किल पासफ्रेज का चयन कर सकता है (इस पर चेक चलाने के लिए सुनिश्चित करें ताकि यह कम से कम अल्फान्यूमेरिक आदि पर हो), उस से एक सार्वजनिक कुंजी उत्पन्न की जा सकती है, और लोकप्रिय चाबर्वर पर अपलोड की जा सकती है।

जेनरेट की गई कुंजी प्रोग्राम द्वारा उत्पन्न ईमेल के लिए उपयोग की जा सकती है, और सबसे महत्वपूर्ण बात यह है कि कुंजी प्रत्येक उपयोगकर्ता के लिए अद्वितीय होगी। फिर आप ईमेल खोलने के लिए उपयोगकर्ता के ओएस पर डिफ़ॉल्ट ईमेल क्लाइंट को एक नियमित बाहरी कॉल कर सकते हैं।

यह सुनिश्चित करने के लिए कि ईमेल एन्क्रिप्टेड खोला गया है, मैं पर्यावरण पर जांच करूँगा और डिफ़ॉल्ट ईमेल क्लाइंट प्राप्त करूंगा, फिर जेनरेट किए गए ईमेल को एन्क्रिप्ट करने के लिए आवश्यक आवश्यक झंडे के साथ अपने प्रोग्राम से ईमेल भेजें। इसका मतलब यह है कि यह ऐप्पल के मेल के लिए थंडरबर्ड के इनिग्मेल के लिए अलग होगा, उदाहरण के लिए।

लेकिन ओपनएसएसएल के बारे में मत भूलना, निश्चित रूप से ....

संबंधित मुद्दे