2016-09-08 7 views
17

मैं अपने क्यूटी अनुप्रयोग में मेरी pkcs12 फ़ाइल को अनपैक करने का प्रयास कर रहा हूं - लेकिन कोई भाग्य नहीं है। मैं क्यूटी कंसोल ऐप (जीयूआई अक्षम) बना रहा हूं।QSslCertificate :: importPkcs12 PFX फ़ाइल को पार्स करने में विफल रहता है

PKCS12 निर्माण आदेश:

"openssl req -newkey rsa:2048 -nodes -keyout test_key.pem" 
"openssl req -key test_key -new -x509 -out test_crt.crt" 
"openssl pkcs12 -inkey test_key.pem -in test_crt.crt -export -passout stdin -out new.pfx" 

क्यूटी कोड:

QString password="1234"; 
QFile pkcs("/Users/test/Desktop/certs/new.pfx"); 
pkcs.open(QFile::ReadOnly); 
QSslKey key; 
QSslCertificate cert; 
QList<QSslCertificate> imported_certs; 
static bool import=QSslCertificate::importPkcs12(&pkcs,&key,&cert,&imported_certs,QByteArray::fromStdString(password.toStdString())); 

pkcs.close(); 
qDebug()<<import; 

मैन्युअल कुंजी और फ़ाइल को निकालने:

(https://github.com/trueos/sysadm-ui-qt/blob/master/src-qt5/gui_client/SSLNotes.txt मैं इस गाइड का पालन किया है) openssl कमांड का उपयोग कर काम किया है।

त्रुटि संदेश:

"Unimplemented Code." 

कोई भी विचार?

+1

आपने क्या त्रुटि हो रही है:

यह समस्या पहले से ही एक बग के रूप में भरा? क्या आप "भाग्य" का वर्णन कर सकते हैं? – vcsjones

+0

"अनुपूरक कोड" और "झूठा" ... qDebug() << आयात झूठी लौट रहा है .. –

+0

क्यूटी का कौन सा संस्करण आप उपयोग कर रहे हैं? 'आयात Pkcs12' Qt 5.4 में पेश किया गया था। – vcsjones

उत्तर

0

इस तरह की चीज़ के साथ दीवार के खिलाफ अपना सिर मारने के बाद, मुझे एक अच्छा शॉर्टकट मिला।

मैं एक विंडोज मशीन में प्रमाण पत्र आयात करता हूं (यह सुनिश्चित करना कि निजी कुंजी निर्यात योग्य के रूप में चिह्नित है) और सत्यापित करें कि प्रमाण पत्र पथ प्रमाणपत्र प्रबंधक में मान्य है। अगर मुझे प्रमाणपत्र आयात करने की ज़रूरत है, तो मैं इसे तब तक करता हूं जब तक जारी प्रमाणपत्र पथ अच्छा न हो। एक बार ऐसा करने के बाद, मैं रूट और मध्यस्थ प्रमाण पत्र सहित एक नई पीकेसीएस 12 फ़ाइल में प्रमाण पत्र और निजी कुंजी को दोबारा निर्यात करता हूं। यह एक एकल फ़ाइल उत्पन्न करता है जिसे एएसए या आईओएस राउटर में आयात किया जा सकता है और बिना किसी काम के काम करता है क्योंकि इकाई की सभी चीजों को एक फ़ाइल में मौजूद है।

जब आप प्रमाणपत्र सेट निर्यात करते हैं तो विंडोज मशीन से प्रमाण पत्र को हटाना सुनिश्चित करें।

हो सकता है कि इस लिंक तुम बाहर में मदद मिलेगी:

से लिया https://supportforums.cisco.com/discussion/12347971/failed-parse-or-verify-imported-certifiate-asa-5505-831

1

क्यूटी < 5.6 का उपयोग कर क्यूटी 5.5 की तरह की कोशिश करो।

क्यूटी 5.6 में डिफ़ॉल्ट एसएसएल बैकएंड ओपनएसएसएल से मैक ओएस मंच पर सुरक्षित परिवहन में बदल दिया गया था। https://bugreports.qt.io/browse/QTBUG-56596

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

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