के लिए .NET कॉम्पैक्ट फ्रेमवर्क में X509 प्रमाणपत्र का उपयोग करना मैं विंडोज मोबाइल 6 में काम कर रहा हूं और अपाचे वेबसर्वर से बात करते समय क्लाइंट प्रमाणीकरण करना चाहता हूं। मैं अपने स्थानीय प्रमाणपत्र संग्रह में एक प्रमाण पत्र है और यह नहीं बल्कि सरल होना चाहिए:क्लाइंट प्रमाणीकरण HTTPRequest
X509Store myStore = new X509Store("MY", StoreLocation.CurrentUser);
myStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certificates = myStore.Certificates;
X509Certificate2 clientcertificate;
foreach (X509Certificate 2certificate in certificates) {
clientcertificate = certificate; //omitted code to validate certificate
}
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(webPage);
req.AllowWriteStreamBuffering = true;
req.AllowAutoRedirect = false;
req.Method = "POST";
req.ContentType = "text/xml";
req.Accept = "text/xml";
req.ClientCertificates.Add(clientcertificate);
Stream stream = req.GetRequestStream();
stream.Write(buffer, 0, buffer.Length);
stream.Close();
इस कोड खंड जब तक मैं "req.ClientCertificates.Add (clientcertificate)" लाइन को हटाने के रूप में काम करता है।
एक बार डालने के बाद, मुझे "एसएसएल/टीएलएस के लिए सुरक्षित चैनल स्थापित नहीं किया जा सका" मिलता है। मैडिनिंगली पर्याप्त, जब मैं नियमित रूप से इस सटीक कोड का उपयोग करता हूं। नेट फ्रेमवर्क यह प्रमाणपत्र को पूरी तरह से प्रसारित करता है।
क्या किसी को पता है कि यह कॉम्पैक्ट फ्रेमवर्क में संभव है या नहीं? यदि मैं क्लाइंट प्रमाणीकरण के लिए X509 प्रमाणपत्र प्रस्तुत नहीं कर सकता, तो यह सुनिश्चित करने के लिए कि मुझे प्रमाणीकरण उचित है (मुझे सीएपीआई या अन्य माइक्रोसॉफ्ट क्रिप्टोग्राफिक मॉड्यूल तक पहुंच होनी चाहिए)
धन्यवाद।
[ServicePointManager.CertificatePolicy] (http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.certificatepolicy%28v=vs.90%29.aspx) पर एक नज़र डालें संपत्ति और [ICertificatePolicy] (http://msdn.microsoft.com/en-us/library/system.net.icertificatepolicy%28v=vs.90%29.aspx) इंटरफ़ेस। –
आपके उत्तर के लिए धन्यवाद। मैंने इंटरमीडिएट सर्टिफिकेट्स को स्थापित किया है और साथ ही साथ सभी प्रमाण पत्रों, एक ही मुद्दे की अनुमति देने के लिए आईसीर्ट्रेड पॉलिसी को कोड जोड़ा है। –