मेरे पास एक प्रमाणपत्र C.pfx है जो मुझे ओपनएसएसएल के साथ काम करने के लिए दिया गया था। प्रमाण पत्र C.pfx निम्नलिखित प्रमाणन पथ है: सी> बी> एकओपनएसएसएल: स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त करने में असमर्थ
मैं निम्न आदेश का उपयोग कर पीईएम को C.pfx परिवर्तित: openssl PKCS12 -इन C.pfx आउट C.pem -nodes - - ठीक है
मैंने फ़ाइल संपादक में प्रमाणपत्र C.pem खोला और देखा कि इसमें आरएसए निजी कुंजी और प्रमाण पत्र दोनों हैं।
मैं विंडोज एक्सपी में विश्वसनीय रू प्रमाणन अथॉरिटीज स्टोर के तहत स्थापित ए और बी प्रमाणपत्र दोनों भी देखता हूं।
लक्ष्य है, पर हस्ताक्षर करने के एन्क्रिप्ट, डिक्रिप्ट और एक परीक्षण फ़ाइल Windows संस्करण 1.0.1c के लिए OpenSSL का उपयोग कर यह सत्यापित (यह वर्तमान में नवीनतम संस्करण है)
मैं निम्न कमांड का उपयोग करें:
--TO SIGN--
openssl smime -sign -signer C.pem -in test.txt -out test.tmp -- WORKS OK
--TO ENCRYPT--
openssl smime -encrypt -in test.tmp -out test.enc C.pem -- WORKS OK
--TO डिक्रिप्ट -
openssl smime -decrypt -in test.enc -recip C.pem -inkey C.pem -out test1.tmp -- WORKS OK
--TO VERIFY--
openssl smime -verify -in test1.tmp -CAfile "C.pem" -out notes1.txt -- FAILS
मैं एमएमसी कंसोल इस्तेमाल किया बी और एक प्रमाण पत्र फ़ाइलों Cer को निर्यात करने के लिए और फिर OpenSSL का उपयोग कर पीईएम करने के लिए उन्हें बदल दिया।
openssl smime -verify -in test1.tmp -CAfile "A.pem" -out notes1.txt -- FAILS
openssl smime -verify -in test1.tmp -CAfile "B.pem" -out notes1.txt -- FAILS
सभी 3 सत्यापित करने के लिए प्रयास करता है निम्नलिखित त्रुटि के साथ विफल: उसके बाद मैं निम्नलिखित 2 की कोशिश की
Verification failure
3672:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:.\crypt
o\pkcs7\pk7_smime.c:342:Verify error:unable to get local issuer certificate
क्या मैं गलत कर रहा हूँ?
+1 'openssl smime -verify -noverify' के लिए +1 जो मुझे चाहिए! – PassKit
@PassKit हालांकि कमांड सबसे आत्म-विरोधाभासी दिखता है। –