कभी भी एटीक्यू का उपयोग न करें! केवल 14443-4 कार्ड (उदाहरण के लिए। MIFARE क्लासिक) के लिए SAK का उपयोग करें! एटीएस भी खराब अभ्यास है क्योंकि विभिन्न कार्ड विक्रेता इसे अलग-अलग सेट कर सकते हैं।
अब कैसे यह करने के लिए:
केवल जिस तरह से कार्ड के बारे में सोचने के लिए कैसे और पागल नहीं मिलता है यह कल्पना है कि यह पूर्ण संचार ढेर (OSI मॉडल देखें) है।
ध्यान रखें कि आपका लक्ष्य दो अनुप्रयोगों को जोड़ना है, एक कार्ड में और एक आपके कंप्यूटर में। 14443-4 संदेश भेजने के लिए तंत्र प्रदान करता है और इसकी सामग्री परवाह नहीं करता है।
इसके शीर्ष पर विभिन्न कार्डों के इंटरफेस लागू किए गए हैं और यदि दोनों तरफ: कार्ड - कार्डड्राइवर संगत हैं तो वे संवाद करेंगे। यदि नहीं, तो उस स्तर पर त्रुटियां होंगी। तो आप जानते हैं कि आपको विभिन्न कार्ड ड्राइवर का उपयोग करने की आवश्यकता होगी।
पूरा संचार ढेर इस तरह दिखेगा:
Your Application
| CardProtocol/7816-4
| | 14443-4
| | | 14443
| | | | radio waves
| | | 14443 (in card)
| | 14443-4 (in card)
| CardProtocol/7816-4 (in card)
Application/Appdata (in card)
बेशक
हर परत के बीच कुछ इंटरफेस हो गया है।
यदि आपके पास दो अनुप्रयोग हैं जो संवाद करना चाहते हैं तो एक को आजमाएं और फिर दूसरा प्रयास करें।
आवेदन स्तर पर त्रुटि => वहाँ कार्ड पर कोई संगत अनुप्रयोग है
CardProtocol स्तर पर त्रुटि => वहाँ संगत कार्ड नहीं है
प्वाइंट अपने संचार सभी स्तरों पर succed के लिए इतना नहीं है संगत प्रोटोकॉल द्वारा कार्ड के साथ संवाद करने की कोशिश करने की चिंता न करें - यदि आप (कुछ चमत्कार से) कार्डप्रोटोकॉल स्तर पर त्रुटि नहीं प्राप्त करेंगे तो आपको निश्चित रूप से आपके आवेदन स्तर पर एक प्राप्त होगा और परिणाम वही होगा। शुभकामनाएँ!
पीएस कुछ और जटिल परिस्थितियां हैं जैसे "दो प्रोटोकॉल/कार्ड के प्रकारों पर एक ऐप" लेकिन उन्हें आसानी से संभाला जा सकता है।
स्रोत
2015-09-18 13:41:10
हां, मुझे पता है, लेकिन एटीएस को MIFARE प्लस कार्ड में बदला जा सकता है, इसलिए यह 100% विश्वसनीय नहीं है। और मुझे संदेह है कि अन्य कार्ड मौजूद हैं (मिफायर परिवार नहीं) जिनके पास एक ही साक है। एनएक्सपी एसएके के केवल 6 बिट का मूल्यांकन करने की सिफारिश करता है यह देखने के लिए कि क्या कार्ड आईएसओ 14443-4 का समर्थन करता है और अन्य बिट्स को अनदेखा करता है। –
शायद कार्रवाई का सबसे अच्छा तरीका "व्यावहारिक" दृष्टिकोण को लागू करना होगा: पहले एसएके और एटीएस का उपयोग करें (इसलिए आप अधिकतर कार्डों को कवर करेंगे) और कोने के मामलों के लिए कुछ परीक्षण आदेश भी। क्या आपके पाठक सॉफ़्टवेयर को सभी जेनेरिक MIFARE प्लस कार्ड, या केवल एक विशिष्ट एप्लिकेशन या सेवा के लिए वैयक्तिकृत करने का समर्थन करना होगा? – mictter
मुझे लगता है कि यह निजीकृत लोगों को संभालने के लिए पर्याप्त होगा, साथ ही निजीकरण के लिए नए रिक्त कार्ड। –