2015-08-27 7 views
13

मुझे एक webservice से कनेक्ट करना है, जहां एक pkcs12 प्रमाणपत्र जरूरी है। विचार एक बैश स्क्रिप्ट (ओएस एक्स के तहत, विशिष्ट होने के लिए) में कर्ल का उपयोग करना था।कर्क एक पीकेसीएस # 12 प्रमाण पत्र के साथ एक बैश स्क्रिप्ट

मैंने सीखा है कि कुछ चीजों में से एक कर्ल संचार में नहीं कर सकता है, pkcs12 प्रमाणपत्र (.p12) को संभालने में है। मेरे विकल्प क्या हैं?

मैंने पढ़ा है कि प्रमाण पत्र को पीईएम प्रारूप में परिवर्तित करना (ओपनएसएल का उपयोग करके) काम करेगा, हालांकि मुझे नहीं पता कि कर्ल को यह कैसे बताना है कि उसे पीईएम मिलती है और पीकेसीएस 12 प्रमाणपत्रों का अनुरोध करने वाले वेबसाइकिल के साथ संवाद करना चाहिए।

परिवर्तित पीईएम को PKCS12 की तरह इस (उदाहरण के लिए), यह मेरे लिए काम किया किया जा जाएगा, फिर भी मैं सफलतापूर्वक कर्ल के साथ उन्हें इस्तेमाल नहीं किया है:

openssl pkcs12 -in mycert.p12 -out file.key.pem -nocerts -nodes 
openssl pkcs12 -in mycert.p12 -out file.crt.pem -clcerts -nokeys 

किसी भी संकेत? या, कर्ल करने के लिए कोई विकल्प? समाधान कमांडलाइन आधारित होना चाहिए।

उत्तर

28

मुझे लगता है कि आप पहले से ही हल हो चुके हैं लेकिन मुझे एक ही समस्या थी। मैं अपने समाधान साझा करने के लिए जवाब देता हूं।

यदि आपके पास .p12 फ़ाइल है तो आपका दृष्टिकोण सही है। सबसे पहले आपको प्रमाणपत्र और कुंजी को पी 12 फ़ाइल से अलग करना होगा। उदाहरण के लिए, यदि आपके पास एक mycert.p12 फ़ाइल निष्पादित

openssl pkcs12 -in mycert.p12 -out file.key.pem -nocerts -nodes 
openssl pkcs12 -in mycert.p12 -out file.crt.pem -clcerts -nokeys 

तो फिर आप अपने यूआरएल को फोन करना है। उदाहरण के लिए मान लें कि आप एक विशिष्ट वेब सेवा

curl -E ./file.crt.pem --key ./file.key.pem https://myservice.com/service?wsdl 

की wsdl प्राप्त करने के लिए फ़ाइलों file.crt.pem तो चाहते हैं और file.key.pem अपने काम फ़ोल्डर में हैं "./" अनिवार्य है।

+3

मेरे लिए यह काम किया: curl -k --cert ./file.crt.pem --cert-type PEM --key ./file.key.pem --key-type PEM -pass "" – Kartins

+4

बस लोगों को यह बताएं कि यदि आप उपरोक्त टिप्पणी में इस्तेमाल किए गए कार्टिन के रूप में 'curl -k' का उपयोग करते हैं, तो आप ** ** https जांच अक्षम कर रहे हैं। – user2599522

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