2010-04-15 10 views
5

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

1) क्या php-mcrypt इसका समर्थन करता है?

2) क्या किसी ने इस प्रकार के ऑपरेशन को बेंचमार्क किया है?

उत्तर

11

नहीं, मैक्रिप्ट सिर्फ सममित ब्लॉक सिफर है।

हालांकि PHP ओपनएसएसएल एक्सटेंशन असममित संचालन का समर्थन करता है। जिन्हें आप चाहते हैं openssl_sign और openssl_verify हैं।

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

बेशक, आप प्रमाणीकरण के लिए क्लाइंट प्रमाणपत्रों का उपयोग करके एसएसएल पर अपना आरईएसटी कर सकते हैं।