2011-04-14 10 views
8

पर कोड में प्रमाणपत्र कैसे प्राप्त कर सकते हैं, मैं अपना स्वयं का वाईआईएफ पहचान प्रदाता बनाने की कोशिश कर रहा हूं और इसे Azure पर चला रहा हूं लेकिन फेडरेशन मेटाडाटा को स्वचालित रूप से उत्पन्न करने का प्रयास करते समय मैं संघर्ष कर रहा हूं।आप Windows Azure

इस लाइन Azure पर काम करने के प्रकट नहीं होता है:

CertificateUtil.GetCertificate(StoreName.My, StoreLocation.LocalMachine, signingCertificateName); 

प्रमाण पत्र Azure करने के लिए अपलोड की गई है, मैं इसके बारे में पकड़ कैसे मिल सकता है?

धन्यवाद

+0

ऐसा लगता है जैसे कोड के नीचे सचित्र है, घर और क्लाउड पर समान है। मैं प्रमाण के नाम की जांच कर रहा था और Azure पर इसमें अतिरिक्त जानकारी थी, इसलिए मुझे यह नहीं मिला। – Max

उत्तर

7

इस ब्लॉग पोस्ट का प्रयास करें: http://blogs.msdn.com/b/jnak/archive/2010/01/29/installing-certificates-in-windows-azure-vms.aspx

यह कोड की तरह चलता है:

X509Certificate2Collection selectedCerts = new X509Certificate2Collection(); 

X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); 
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly); 
foreach (X509Certificate2 cert in store.Certificates) 
{ 
    // do stuff with cert 
} 
+0

यह कोड गैर-अज़ूर मशीनों पर भी काम करता है ... –

+0

इस स्निपेट ने मुझे यह देखने की अनुमति दी कि Azure पर प्रमाण का नाम मेरी अपेक्षा की तुलना में अलग था और मेरी समस्या को हल किया :) – Max

9

अन्य उत्तर पर एक मामूली बदलाव के रूप में, अगर आप सिर्फ बजाय एक प्रमाण पत्र प्राप्त करना चाहते हैं उन सभी के माध्यम से पुन: प्रयास करें आप इस तरह कुछ कर सकते हैं:

var store = new X509Store(StoreName.My, StoreLocation.LocalMachine); 

store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); 

X509Certificate2Collection matchedCertificates = 
    store.Certificates.Find(X509FindType.FindBySubjectName, signingCertificateName, true); 

if (matchedCertificates.Count > 0) 
{ 
    myCertificate = matchedCertificates[0]; 
} 

(जो कि Azure विशिष्ट भी नहीं है)

+0

उत्कृष्ट, भले ही मैंने दूसरे को चिह्नित किया जवाब के रूप में repsonse क्योंकि यह मेरी समस्या पर प्रकाश डाला गया है मैंने इस तरह दिखने के लिए मेरे कोड को दोबारा प्रतिक्रिया दी है। धन्यवाद! +1 – Max

+0

वर्तमान उत्तर क्या है, StoreLocation.LocalMachine या StoreLocation.CurrentUser? मुझे समझ में आया कि वेब ऐप्स के लिए स्थानीय उपयोगकर्ता प्रमाण पत्र तक पहुंच नहीं है, इसलिए यह स्थानीय मशीन होनी चाहिए, क्या मैं गलत हूं? –

+1

मैंने कभी भी Azure पर LocalMachine का उपयोग किया है क्योंकि मुझे उस स्थिति में उपयोगकर्ता की अवधारणा थोड़ा या अजीब अवधारणा मिलती है। – knightpfhor

संबंधित मुद्दे