2008-11-18 7 views
8

मैं एक प्रक्रिया है कि एक यूनिक्स (Solaris) सर्वर है कि हर रात को चलाता है और एन्क्रिप्टेड ईमेल भेजते रहते हैं करने के लिए सक्षम होने की जरूरत पर चलता है।कैसे एन्क्रिप्टेड ईमेल प्रोग्राम भेजें करने के लिए (एक स्वचालित प्रक्रिया से)

मैं केवल "एन्क्रिप्शन" भाग, नहीं डिजिटल हस्ताक्षर/स्व-प्रत्याख्यान PKI के हिस्से की जरूरत है।

मैं कॉर्पोरेट सेटिंग में एमएस आउटलुक का उपयोग करता हूं और मुझे लगता है कि जब कोई उपयोगकर्ता उपकरण -> विकल्प -> सुरक्षा के तहत "GAL पर प्रकाशित करें ..." पर क्लिक करता है, तो यह वैश्विक पता सूची में अपनी सार्वजनिक कुंजी प्रकाशित करेगा (GAL)।

तो मैं सोच रहा हूँ कि मैं एक तरह से की जरूरत है कि एक्सचेंज सर्वर GAL मेरी यूनिक्स सर्वर से पर है से कनेक्ट करने के। फिर मुझे प्राप्तकर्ताओं को सार्वजनिक कुंजी पुनर्प्राप्त करने की आवश्यकता होगी। फिर मैं प्राप्तकर्ताओं को सार्वजनिक कुंजी का उपयोग कर ईमेल एन्क्रिप्ट कर सकता था। यह ईमेल एन्क्रिप्ट करेगा और ईमेल को सही पढ़ने के लिए केवल प्राप्तकर्ताओं के साथ किसी को अनुमति देगा? फिर मैं ईमेल भेजूंगा। लेकिन, मुझे इस बारे में निश्चित नहीं है कि, केवल प्राप्तकर्ताओं को सार्वजनिक कुंजी (यूनिक्स पक्ष पर कोई कुंजियां) का उपयोग करके ईमेल को एन्क्रिप्ट करना है, जिस तरह एमएस आउटलुक प्राप्तकर्ता को प्राप्त होने पर ईमेल को पढ़ने में सक्षम होगा?

क्या यह काम करेगा? कोई भी वहां एक समान समस्या में भाग लेता है और समाधान के साथ आता है? जावा कोड को प्राथमिकता दी जाती है, लेकिन किसी भी लैंगेज से शुरू करने के लिए किया जाएगा।

कोई उचित विवरण प्राप्त करने के लिए आवश्यक अतिरिक्त विवरण?

धन्यवाद

उत्तर

4

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

यदि आप संदेश पर हस्ताक्षर करना चाहते हैं तो आपको केवल अपने सर्वर के लिए एक कुंजी की आवश्यकता होगी।

यदि आप जावा में कार्यान्वयन करना चाहते हैं, तो मुझे नहीं लगता कि जावामेल बॉक्स से एन्क्रिप्शन का समर्थन करता है, लेकिन आप JavaMail-Crypto पर देख सकते हैं (इसे स्वयं इस्तेमाल किया गया है)। माना जाता है कि जीएनयूजीजी कहीं भी एक जेएनआई इंटरफ़ेस है ... और आप हमेशा किसी भी भाषा से पीजीपी या जीएनयूपीजी निष्पादित कर सकते हैं ...

मुझे Outlook में पीजीपी के समर्थन के बारे में पता नहीं है, न ही Outlook के बारे में कुछ भी।

2

आपको एस/माइम प्रारूप में Outlook में एन्क्रिप्टेड मेल भेजना होगा। आउटलुक पीजीपी का समर्थन नहीं करता है।

जावा से एक प्लेन टेक्स्ट संदेश भेजने और यदि आप इसे Outlook में प्राप्त कर सकते हैं देखने के लिए कोशिश कर रहा द्वारा प्रारंभ। बाद में एन्क्रिप्शन के बारे में चिंता करें। ईमेल बनाने और भेजने के लिए जावामेल लाइब्रेरी का उपयोग करें।

मुझे नहीं पता कि जीएएल से चाबियाँ कैसे निकालें। मैन्युअल रूप से एक कुंजी निर्यात करके शुरू करना संभव है और देखें कि आप इसके साथ काम कर सकते हैं या नहीं।

S/MIME प्रारूप में एन्क्रिप्टेड मेल मैं Bouncy Castle की सलाह देते हैं बनाने के लिए। बाउंसी कैसल एक क्रिप्टो-प्रदाता है जिसे एस/माइम के लिए भी समर्थन है। (सीएमएस/स्माइम पैकेज की तलाश करें)। डाउनलोड किए गए स्रोतों में कुछ उदाहरण होना चाहिए। मैंने इसे अतीत में ईमेल क्लाइंट की विस्तृत श्रृंखला में ईमेल भेजने के लिए उपयोग किया है, जिसमें Outlook शामिल है और यह बहुत अच्छी तरह से काम करता है।लेकिन क्रिप्टो सामान के लिए खुद को बांधें - यह एक सीधी सीखने की वक्र हो सकती है!

+0

उत्तर के लिए धन्यवाद। मुझे निश्चित रूप से एन्क्रिप्शन पक्ष पर सीखने के लिए बहुत कुछ है। कम से कम अब मेरे पास काम करना शुरू करने के लिए एक जगह होगी। –

1

चेतावनी पिछले नोट नहीं है कि जीएएल एक्सचेंज सर्वर पर जरूरी नहीं है, और स्टैंडअलोन मोड में नहीं चलने पर डोमेन सर्वर पर अधिक बार पाया जाता है। प्रमाण पत्र एलडीएपी विशेषता उपयोगकर्ता प्रमाण पत्र या userSMIMECertificate में मिलेगा।

5

आप तर्क सही हैं।

ठेठ PKI एन्क्रिप्शन है:

cryptoAlgorithm(plaintext, public key) = ciphertext 

cryptoAlgorithm(ciphertext, private key) = plaintext 

कुछ एल्गोरिदम के लिए, cryptoAlgorithm एक ही प्रक्रिया है, भेजने और प्राप्त करने।

तो ... प्रत्येक प्राप्तकर्ता के लिए आपको उनके डिजिटल प्रमाणपत्र की आवश्यकता है, जिसमें उनकी सार्वजनिक कुंजी होगी।

GAL प्रमाणपत्र भंडारण

मैं इसे GAL कॉन्फ़िगर करने के लिए उपयोगकर्ताओं को प्रमाण पत्र प्रकाशित करने की अनुमति संभव हो जाएगा लगता होगा। मेरा सामान्य प्रभाव यह है कि जीएएल कैसे कॉन्फ़िगर किया गया है और इसका उपयोग कंपनी से कंपनी में भिन्न होता है।

S/MIME & पीजीपी

मैं पद S/MIME है कि आप Outlook के लिए क्या चाहते हैं के साथ सहमत हैं।

यह भी ध्यान दें - यदि आपके उपयोगकर्ता Outlook क्लाइंट की बजाय Outlook Web का उपयोग कर रहे हैं, तो वे एन्क्रिप्टेड ईमेल प्राप्त नहीं कर पाएंगे। कम से कम 2000 तक, लेकिन मुझे 2003 में भी संदेह है। यह एक बड़ी उपयोगिता समस्या है और मुझे कोई अच्छा काम नहीं मिला है।

जनरल Microsoftyness

माइक्रोसॉफ्ट (... मजाक नहीं) काम करने के लिए अपने स्वयं के विशेष तरीके से किया है। वे पीकेआई की दुनिया में कोई अलग नहीं हैं। उपयोगकर्ता प्रमाण पत्र को एन्क्रिप्शन क्षमता के साथ स्पष्ट रूप से चिह्नित किया जाना चाहिए। मुझे पता है कि इसमें KeyUsage फ़ील्ड KeyEncipherment होना चाहिए। और माइक्रोसॉफ्ट द्वारा एक अन्य एक्सटेंशन की आवश्यकता हो सकती है। ग़लत रूप से स्वरूपित उपयोगकर्ता प्रमाणपत्र होने का अर्थ यह हो सकता है कि प्राप्तकर्ता मेल आने पर मेल पढ़ने में असमर्थ होगा, क्योंकि Outlook इस तथ्य से सहमत नहीं होगा कि मेल एन्क्रिप्ट किया गया था। यहां कुछ गंभीर एकीकरण परीक्षण समय दें और इसे कैसे करें इस पर बहुत सारे उपयोगकर्ता समूहों को मारने की योजना बनाएं। हर बार जब मेरी टीम को माइक्रोसॉफ्ट उत्पाद के साथ एकीकृत करना पड़ता है, तो विशेष रूप से प्रमाणपत्र कैसे कॉन्फ़िगर किया जाता है, इसके बारे में बहुत ही आश्चर्यजनक आश्चर्य हुआ है।

पुस्तकालय & उपकरण

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

ओपनएसएसएल एक और शानदार उपकरण है, और एसएसएल से कहीं अधिक उपयोगी है। परीक्षण प्रमाणपत्र तैयार करने के लिए यह बहुत अच्छा है, लेकिन मुझे याद नहीं है कि यह एस/एमआईएम ईमेल एन्क्रिप्शन भी करता है या नहीं।

अधिकांश पुस्तकालयों के लिए, आप सादे टेक्स्ट और प्रमाणपत्र ले सकते हैं, और दोनों को एक ऐसे फ़ंक्शन में डाल सकते हैं जो S/MIME संदेश उत्पन्न करता है। उन्हें एन्क्रिप्शन एल्गोरिदम की भी आवश्यकता हो सकती है।

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