से http अनुरोधों को सत्यापित करें मैं अपने वेबप्लिकेशंस के लिए क्लाइंट लिख रहा हूं, और मैंने अपने डेवलपर प्रमाणपत्र के साथ रिलीज जार पर हस्ताक्षर किए हैं, मैं अपने हस्ताक्षर किए गए जार से सेवा को आराम देने के अनुरोध को कैसे सत्यापित कर सकता हूं?हस्ताक्षरित जार
7
A
उत्तर
6
आप नहीं कर सकते। हस्ताक्षर निष्पादन सत्यापन के लिए है जिसका अर्थ है कि यह सर्वर की तरफ है। लेकिन आप क्लाइंट साइड पर http/rest अनुरोध पर हस्ताक्षर की जांच करना चाहते हैं। ग्राहक पक्ष में ऐसी कोई मान्यता नहीं है।
आप प्रतिक्रिया में कुछ जोड़ सकते हैं और इसे क्लाइंट साइड पर मान्य कर सकते हैं, फिर भी, कुछ भी अन्य सर्वर को एक ही मूल्य भेजने से रोकता है और इसलिए आपका सर्वर होने का नाटक करता है।
आप अपने जार (जैसे सत्र कुकीज़) में कुछ व्यवहार विशेषताओं को भी जोड़ सकते हैं, लेकिन फिर, कुछ भी अन्य जार इसे अनुकरण करने से रोकता है।
संबंधित मुद्दे
- 1. हस्ताक्षरित जार
- 2. जावा वेब स्टार्ट का कहना है कि एक हस्ताक्षरित जार फ़ाइल क्यों हस्ताक्षरित है?
- 3. jnlp में जार संसाधन उसी प्रमाणपत्र द्वारा हस्ताक्षरित नहीं हैं
- 4. हस्ताक्षरित जार के लिए AspectJ लोड-टाइम बुनाई
- 5. क्या VHDL numeric_std हस्ताक्षरित/हस्ताक्षरित
- 6. हस्ताक्षरित और हस्ताक्षरित पूर्णांक गुणा
- 7. हस्ताक्षरित वर्णों को हस्ताक्षरित पूर्णांक
- 8. जार जार लिंक
- 9. जावा मुझे बताता है कि मेरे एप्लेट में हस्ताक्षरित और हस्ताक्षरित कोड दोनों शामिल हैं?
- 10. जार
- 11. जार
- 12. जार
- 13. जार
- 14. जार
- 15. जार
- 16. जार
- 17. जार
- 18. जार
- 19. क्या कोई इंटरेन्स हस्ताक्षरित या हस्ताक्षरित है?
- 20. स्व-हस्ताक्षरित सीए और स्वयं हस्ताक्षरित प्रमाणपत्र
- 21. क्या नग्न `char32_t` हस्ताक्षरित या हस्ताक्षरित है?
- 22. बिटवाईट शिफ्ट ऑपरेटर। हस्ताक्षरित और हस्ताक्षरित
- 23. बिना हस्ताक्षरित शॉर्ट इंट और हस्ताक्षरित शॉर्ट
- 24. हस्ताक्षर/हस्ताक्षरित
- 25. हस्ताक्षरित संख्या
- 26. हस्ताक्षरित प्रमाणपत्र
- 27. क्या होता है यदि हस्ताक्षरित जार (टाइमस्टैम्प के साथ) का प्रमाणपत्र
- 28. मैं चींटी का उपयोग कर एक हस्ताक्षरित जार फ़ाइल कैसे देख सकता हूं?
- 29. क्या हम जावा में पहले से हस्ताक्षरित जार इस्तीफा दे सकते हैं?
- 30. जावा के क्लासलोडर बनाम जार-इन-जार
आप नहीं कर सकते। आपके हस्ताक्षरित जार रखने वाला कोई भी व्यक्ति इसे अलग कर सकता है और इसलिए, नकली ऐसे अनुरोधों को कैसे पता लगा सकता है। आप स्थैतिक या गतिशील obfuscation द्वारा इसे और अधिक कठिन बना सकते हैं, लेकिन यह केवल बाधा उठाता है। यदि दूसरी तरफ आप अपने जार तक पहुंच के बिना हमलावरों के खिलाफ बचाव करने की कोशिश करते हैं, तो जार में बाकी सेवा अनुरोधों पर हस्ताक्षर करने के लिए उपयोग करने के लिए एक निजी कुंजी शामिल हो सकती है। – mkl
अंतर्निहित समस्या क्या है जिसे आप हल करने का प्रयास कर रहे हैं? यदि आप अपना प्रश्न उसमें शामिल करने के लिए संपादित करते हैं, तो हम वैकल्पिक समाधान का सुझाव दे सकते हैं। – merlin2011
@ एमकेएल सही है। कोई भी सेवा जो सार्वजनिक रूप से पहुंच योग्य है और जिसके लिए कोई ग्राहक क्लाइंट धारण कर सकता है, वह रिवर्स-इंजीनियर हो सकता है, और ग्राहक के हाथ में, किसी को आपकी निजी कुंजी या अन्य गुप्त-रखरखाव तंत्र ढूंढने से रोकने का कोई तरीका नहीं है। सामान्य रूप से, इस बारे में चिंता न करें कि * एप्लिकेशन * आपकी सेवा के लिए अनुरोध भेज रहा है; चिंता करें कि * उपयोगकर्ता * उन्हें क्या भेज रहा है। अगर मैं लॉग इन और प्रमाणीकृत हूं, तो इससे कोई फर्क नहीं पड़ता कि मैं आपके कस्टम क्लाइंट या टेलनेट का उपयोग करता हूं। –