পিএফএক্স থেকে সিএম শংসাপত্র চেইন কীভাবে ব্যাগের বৈশিষ্ট্য ছাড়াই পিইএম ফর্ম্যাটে রফতানি করতে হয়


31

আমার কাছে একটি পিকেসিএস 12 ফাইল রয়েছে যাতে পুরো শংসাপত্র চেইন এবং ব্যক্তিগত কী থাকে। একটি অ্যাপ্লিকেশনের জন্য আমাকে এটিকে 3 টি ভাঙতে হবে। আমার যে 3 টি ফাইলের দরকার তা নিম্নরূপ (পিইএম ফর্ম্যাটে):

  • একটি এনক্রিপ্ট করা কী ফাইল
  • একটি ক্লায়েন্ট শংসাপত্র ফাইল
  • একটি CA শংসাপত্র ফাইল (মূল এবং সমস্ত মধ্যবর্তী)

এটি আমার একটি সাধারণ কাজ যা সম্পাদন করতে হবে তাই আমি আউটপুটটির কোনও ম্যানুয়াল সম্পাদনা না করে এটি করার উপায় খুঁজছি।

আমি নিম্নলিখিত চেষ্টা করেছিলাম:

openssl pkcs12 -in <filename.pfx> -nocerts -nodes -out <clientcert.key>
openssl pkcs12 -in <filename.pfx> -clcerts -nokeys -out <clientcert.cer>
openssl pkcs12 -in <filename.pfx> -cacerts -nokeys -chain -out <cacerts.cer>

এটি দুর্দান্ত কাজ করে, তবে, আউটপুটটিতে ব্যাগের বৈশিষ্ট্য রয়েছে, যা অ্যাপ্লিকেশন কীভাবে পরিচালনা করতে জানে না।

কিছু অনুসন্ধানের পরে আমি ব্যাগের বৈশিষ্ট্যগুলি কেটে ফেলার জন্য x509 এর মাধ্যমে ফলাফলগুলি পাস করার প্রস্তাবিত সমাধান পেয়েছি।

openssl x509 -in <clientcert.cer> -out <clientcert.cer>

এটি কাজ করে, তবে আমি ক্যা্যাসার্ট ফাইলটিতে একটি সমস্যা নিয়ে চলেছি। আউটপুট ফাইলটিতে চেইনের কেবলমাত্র 3 টি শংসাপত্র রয়েছে।

Pkcs12 কমান্ডের আউটপুটে ব্যাগের বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করার কোনও উপায় আছে, বা x509 কমান্ড আউটপুট সমস্ত শংসাপত্র অন্তর্ভুক্ত করার কোনও উপায় আছে কি? অতিরিক্তভাবে, যদি x509 এর মাধ্যমে এটি চালানো সহজ সমাধান হয়, তবে ফাইলটি দুবার লেখার পরিবর্তে pkcs12 থেকে x509 এ আউটপুটটি পাইপ করার কোনও উপায় আছে কি?

উত্তর:


36

পরিশেষে আমি যে সমাধানটি এসেছি তা হ'ল সেডের মাধ্যমে এটি পাইপ করা।

openssl pkcs12 -in <filename.pfx> -nocerts -nodes | sed -ne '/-BEGIN PRIVATE KEY-/,/-END PRIVATE KEY-/p' > <clientcert.key>
openssl pkcs12 -in <filename.pfx> -clcerts -nokeys | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > <clientcert.cer>
openssl pkcs12 -in <filename.pfx> -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > <cacerts.cer>

ধন্যবাদ! আজ আমাকে কিছুটা সময় বাঁচিয়েছে! ;-)
জিম পি।

তোমাকে অনেক ধন্যবাদ!
পলজে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.