से मोज़िला प्रमाण पत्र एक्सेस करना मैं डेल्फी (एक्सई) आवेदकॉन से मोज़िला उत्पादों (फ़ायरफ़ॉक्स और थंडरबर्ड) में संग्रहीत प्रमाणपत्रों तक पहुंच बनाना चाहता हूं। शुरुआत के लिए मैं उन्हें सूचीबद्ध करना चाहता हूं, इसके बाद उन्हें प्रबंधित करना (आयात, निर्यात, हटाना) और उन्हें (साइन) का उपयोग करने में सक्षम होना अच्छा लगेगा। सॉफ़्टवेयर टोकन पर्याप्त होगा हालांकि मोज़िला द्वारा समर्थित सभी टोकन का उपयोग करना बहुत अच्छा होगा।डेल्फी
अब तक मैंने http://d-gecko.svn.sourceforge.net/viewvc/d-gecko/trunk/ डेल्फी बाइंडिंग के साथ XPCOM का उपयोग करने का प्रयास किया है। हालांकि वहां बहुत अधिक दस्तावेज नहीं हैं और मैं सभी शब्दावली और अवधारणाओं के साथ उलझन में हूं। सबसे अच्छा मेरे द्वारा प्रबंधित कर सकता था:
var ns:nsIX509CertDB;
servMgr:nsIServiceManager;
p:Pchar;
begin
GRE_Startup;
NS_GetServiceManager(servmgr);
servMgr.GetServiceByContractID('@mozilla.org/security/x509certdb;1',NS_IX509CERTDB_IID,ns);
ns.FindCertNicknames(nil,1,count,p);
GRE_Shutdown;
end;
इस कोड को मैं certdb वस्तु का उदाहरण मिलता किया का उपयोग करना है और मैं प्रमाण पत्र के लिए यह पूछने के लिए सक्षम था। हालांकि यह पूरी तरह से खाली प्रतीत होता है (FindCertNicknames से गिनती 0 है) और यह ओसीएसपी बदलने पर प्रतिक्रिया नहीं करता है (IsOcspOn हमेशा सत्य लौटाता है)। मैं सोच रहा हूं कि मैंने या तो नया प्रमाणपत्र बनाया है या मुझे किसी भी तरह से डिफ़ॉल्ट उपयोगकर्ता प्रोफ़ाइल को सक्रिय करने की आवश्यकता है।
मैंने softokn.dll को PKCS # 11 लाइब्रेरी के रूप में एक्सेस करने का भी प्रयास किया। ऐसा लगता है कि इसमें कुछ प्रकार के पीकेसीएस # 11 एपीआई हैं, यह अच्छी प्रतिक्रिया नहीं दे रहा है। अर्थात। C_Rititialize पर CKR_BAD_ARGUMENTS।
अंतिम और वास्तव में खराब तरीका प्रमाण पत्र फ़ाइलों तक सीधे पहुंच जाएगा क्योंकि यह "मानक" एनएसएस होना चाहिए, लेकिन मुझे वास्तव में इस तरह से पसंद नहीं है।