मेरे पास एक Qt QWebKit आधारित एप्लिकेशन है जिसे वेब पृष्ठों से बात करने के लिए HTTPS का उपयोग करने की आवश्यकता है। मैंने क्यूटीएसडीके, साथ ही ओपनएसएसएल बाइनरी (from here) डाउनलोड किया है।मैं अपने क्यूटी वेबकिट आधारित एप्लिकेशन के साथ ओपनएसएसएल को विंडोज़ में कैसे वितरित कर सकता हूं?
मेरी समस्या मेरे आवेदन को तैनात करने में निहित है। मैंने अपनी आवेदन निर्देशिका में प्रासंगिक क्यूटी डीएलएल फाइलों के साथ-साथ प्रासंगिक ओपनएसएसएल डीएलएल फाइलों (libeay32.dll
और ssleay32.dll
) की प्रतिलिपि बनाई है, लेकिन जब मैं अपने आवेदन के भीतर से HTTPS वेब पेजों तक पहुंचने का प्रयास करता हूं तो यह विफल हो जाता है! एप्लिकेशन क्रैश नहीं होता है, लेकिन पृष्ठ खाली है। नियमित HTTP पृष्ठ पूरी तरह से ठीक काम करते हैं।
यह स्पष्ट है कि मैं अपने आवेदन के साथ ओपनएसएसएल को वितरित करने के तरीके में एक त्रुटि है, मुझे यकीन नहीं है कि मैं कहां गलत हो रहा हूं।
मैं वास्तव में अपने आवेदन के साथ ओपनएसएसएल इंस्टॉलर को बंडल करना नहीं चाहता हूं।
क्या आप निश्चित हैं कि आप सभी कॉल साइटों पर ओपनएसएसएल त्रुटि रिटर्न की जांच कर रहे हैं और संभावित रूप से लॉगिंग या अन्यथा अप्रत्याशित त्रुटि परिणाम दिखा रहे हैं? मैं आसानी से एक अनुपलब्ध प्रमाणपत्र स्टोर या सिस्टम पर अमान्य दिनांक/समय की कल्पना कर सकता हूं जिसके कारण प्रमाणपत्र श्रृंखला सत्यापन त्रुटियां उत्पन्न होती हैं जो "सामान्य" परीक्षण के दौरान पॉप अप नहीं हो सकतीं ... – sarnold
यह एक अच्छा बिंदु है। मैंने कहीं और पढ़ा है कि ओपनएसएसएल त्रुटियों को अनचाहे HTTPS पृष्ठों को लोड करने का कारण बन सकता है। मेरे मामले में मैं सभी ओपनएसएसएल त्रुटियों को संभालने में कामयाब रहा था (उन्हें अनदेखा करके), लेकिन त्रुटि हैडलर को कभी भी मेरे QNetworkManager द्वारा नहीं बुलाया गया था। –