2011-06-23 4 views
6

क्या सी # में जांच करने का कोई तरीका है यदि उपयोगकर्ता विंडोज़ कीस्टोर (पर्सनल) में पीकेआई एंड यूजर सर्टिफिकेट स्थापित है? (एक अपवाद होगा?) मैं नाम की तरह कुछ विशेषता उत्तीर्ण होगा।जांचें कि विंडोज कुंजीस्टोर में अंतिम उपयोगकर्ता प्रमाणपत्र स्थापित है या नहीं?

उत्तर

6

आप सिस्टम पर प्रमाणपत्रों की खोज के लिए X509Store कक्षा का उपयोग कर सकते हैं। कोड नमूना के नीचे वर्तमान उपयोगकर्ता के व्यक्तिगत स्टोर में "XYZ" के विषय के आधार पर प्रमाणपत्र प्राप्त होता है।

System.Security.Cryptography.X509Certificates.X509Store store = new System.Security.Cryptography.X509Certificates.X509Store(StoreName.My, StoreLocation.CurrentUser); 
store.Open(OpenFlags.ReadOnly); // Dont forget. otherwise u will get an exception. 
X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName,"XYZ",true); 
if(certs.Count > 0) 
{ 
    // Certificate is found. 
} 
else 
{ 
    // No Certificate found by that subject name. 
} 
संबंधित मुद्दे