2011-01-31 22 views
8

स्मार्टकार्ड के लिए सी # (.NET) में प्रोग्राम कैसे शुरू करना चाहिए? शुरुआत के लिए मुझे सिर्फ यह जानने की जरूरत है कि कार्ड रीडर का नाम क्या है (उदा। Omnikey) और इसे प्रिंट करें।सी # स्मार्टकार्ड प्रोग्रामिंग

उत्तर के लिए धन्यवाद, एलिस।

उत्तर

13

कुछ समय पहले मुझे यह लिखना पड़ा कि मैंने सोचा था कि मुझे कुछ सरल और आसान स्मार्टकार्ड कोड होने वाला था और मुझे आपको बताने दो, यह पार्क में नहीं चल रहा था। सबसे पहले, यह पता चला कि स्मार्टकार्ड पर अच्छी जानकारी नेट पर आना मुश्किल है। और जब मुझे कई वेबसाइटें मिलीं, तो अंतर्निहित Win32 एपीआई कॉल और अन्य निम्न-स्तरीय सामानों का एक पूरा समूह था, जो काफी आसान पढ़ने नहीं है।

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

ठीक है, मुझे अंततः मेरा ऐप काम कर रहा था, लेकिन जैसा कि मैंने कहा, यह आसान नहीं था। किसी भी दर पर मैंने यह मानकर बड़ी गलती की कि इसे करना मुश्किल नहीं होगा।

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

वेबसाइटों के लिए, सी # शर्तों में सबसे उपयोगी चीज जिसे मैं खोदने में सक्षम था A Smartcard Framework for .Net था। ध्यान दें कि यह एक ही लेख नहीं है जैसा कि michaelvdnest द्वारा पोस्ट किया गया है, हालांकि लेखक वही है। आलेख जो मैंने लिंक किया है, वह मूल स्मार्टकार्ड एपीआई के लिए सी # रैपर का वर्णन करता है, जबकि माइकलवडेनेस्ट ने एक्सएमएल को मिश्रण में जोड़ा है, हालांकि मुझे बिल्कुल इस तरह से पता नहीं है क्योंकि मैंने इसे अभी तक नहीं पढ़ा है।

तो लेख और शुभकामनाएं के साथ दिए गए कोड को विच्छेदन करना शुरू करें। अगर स्मृति मेरी सेवा करती है, तो पाठक गणना सामग्री को ढूंढना बहुत आसान है।

+0

इस लंबे उत्तर के लिए आपका बहुत बहुत धन्यवाद :) मेरा सहकर्मी ने मुझे पहले ही बताया है कि मेरे पास जाने का लंबा रास्ता है ... और वह मेरी मदद नहीं कर सका। अब मुझे पता है कि यह किया जा सकता है और लिंक के लिए धन्यवाद, मैंने इसे पहले ही पाया है और मैं इसे पढ़ रहा हूं और इसे संसाधित कर रहा हूं। – Thorusan86

+0

@sql आप Stackoverflow के लिए नए नहीं हैं। एक नया सवाल पूछें। – dandan78

+0

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

3

कोड प्रोजेक्ट पर Smart Card Framework for .NET देखें। यह स्मार्ट कार्ड अनुप्रयोगों के कार्यक्रम के लिए .NET के लिए एक XML ढांचे का वर्णन करता है।

+0

मैंने ऐसा किया है, और मैं अभी भी इस पर काम कर रहा हूं। धन्यवाद! :) – Thorusan86

+0

यह वही लड़का है और नया है: http://www.codeproject.com/Articles/16653/A-Smart-Card-Framework-for-NET – VoteCoffee

1

मैं जानता हूँ कि यह जिस तरह से देर हो चुकी है .....

लेकिन

आप एक बहुत उपयोग करने के लिए आसान है, और यहाँ निजी इस्तेमाल professionall पुस्तकालय के लिए नि: शुल्क प्राप्त कर सकते हैं:

http://www.smartcard-api.com/index.shtml

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

यह वास्तव में कवर के लिए एक बड़ा विषय है, मेरे पास कोड है जो मानक चिप & पिन ईएमवी कार्ड पर सभी सामान्य तत्वों को पढ़ेगा दुर्भाग्य से यह एक वित्तीय सेवा क्लाइंट के लिए लिखा गया था, इसलिए मैं आपको यह नहीं दे सकता, मैं हालांकि कार्ड को पढ़ने के लिए आपको जो कुछ करने की आवश्यकता है, उसे समझाया जा सकता है।

अन्य कार्डों के लिए यह कार्ड पर ही नीचे है, उदाहरण के लिए, मेरे पास कार्ड रीडर और रिक्त कार्ड हैं, और मेरे पास उनमें से कुछ पर कुछ कस्टम डेटा है जो केवल मुझे पता है कि कैसे पहुंचना है, फिर भी मेरे पास है कुछ पुराने उपग्रह और यात्रा कार्ड जो अलग-अलग हैं।

आप यहाँ कुछ विचार प्राप्त कर सकते हैं:

How do I read the PAN from an EMV SmartCard from Java

और वहाँ सामान्य रूप में स्मार्ट कार्ड पर जानकारी की एक बहुत कुछ यहां पाया जा करने के तरीके:

http://www.wrankl.de/SCH/SCH.html

विशेष रूप से सामान्य सामान (जिनमें से कुछ हैं)

0

मैं विजुअल स्टूडियो 2015 में री के लिए एक ऐप पर काम कर रहा हूं डी स्मार्ट कार्ड। आप जो करना चाहते हैं वह यूएसबी डिवाइस आपके कंप्यूटर से कनेक्ट है जो स्मार्ट कार्ड रीडर हैं। फिर अपनी तलाश की गई जानकारी के बदले में पुन: प्रयास करें। जबकि पाठकों के पास कुछ गुण हैं, यहां वे हैं जिन्हें मैंने उपयोग करना चुना है। मुझे आशा है कि इससे आपको सही दिशा में शुरुआत मिल जाएगी:

static List<USBDeviceInfo> GetUSBDevices() 
    { 
     List<USBDeviceInfo> devices = new List<USBDeviceInfo>(); 

     ManagementObjectCollection collection; 
     using (var searcher = new ManagementObjectSearcher(@"Select *  FROM Win32_PnPEntity where Description Like ""%Smart%card%""")) 
      collection = searcher.Get(); 
     string Device_ID = ""; 

     foreach (var device in collection) 
     { 
      devices.Add(new USBDeviceInfo(
      (string)device.GetPropertyValue("DeviceID"), 
      (string)device.GetPropertyValue("PNPDeviceID"), 
      (string)device.GetPropertyValue("Name"), 
      (string)device.GetPropertyValue("Description"), 
      (string)device.GetPropertyValue("Status"))); 


      Device_ID = (string)device.GetPropertyValue("DeviceID"); 

     } 

     collection.Dispose(); 
     return devices; 
    } 
संबंधित मुद्दे