ওপেনএসএসএল এর মাধ্যমে পি 7 বি থেকে পিইএম তে রূপান্তর করুন


39

উবুন্টুতে, আমি সফলভাবে ওপেনসেল ব্যবহার করে শংসাপত্র রূপান্তর করতে পারি না।

vagrant@dev:/vagrant/keys$ openssl pkcs7 -print_certs -in a.p7b -out a.cer 
unable to load PKCS7 object <blah blah>:PEM
routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: PKCS7

আপনি এই ত্রুটিটি আগে দেখেছেন?


আপনি কি নিশ্চিত যে ফাইলটি একটি পি 7 বি?
জোড়দাচে

ফাইলটি সার্ভারের মধ্যে সরানো হয়েছিল বা এফটিপি-র মাধ্যমে আপলোড করা হয়েছিল? এটি যদি সত্যই সঠিক বিন্যাস হয় তবে মনে হয় এটি দূষিত হয়ে গেছে। বাইনারি মোডে সার্ভারে ফাইলটি পুনরায় স্থানান্তর করার চেষ্টা করুন (যদি এফটিপি ব্যবহার করে থাকেন) বা উত্স থেকে পুনরায় অনুলিপি করুন।
গ্যারেট

আমি বলছি এটি একটি পি 7 বি ফাইলের প্রত্যয় ভিত্তিক। আমি ফায়ারফক্সের মাধ্যমে এটি পুনরায় ডাউনলোড করেছি, তবে আমি এখনও একই ওপেনএসএসএল ত্রুটি পেয়েছি ...
কেভিন মেরেডিথ

1
@ কেভিন আপনাকে কি দেয় file a.p7b?
নিক ইয়ং

@ নিক ইউইং - আমি উপরের ত্রুটি বার্তাটি পেয়েছি। আউটপুট নেই।
কেভিন মেরেডিথ

উত্তর:


55

এটা চেষ্টা কর:

$ openssl pkcs7 -inform der -in a.p7b -out a.cer

যদি এটি কাজ না করে তবে একটি উইন্ডোজ মেশিন নিয়ে আসে এবং এই গাইডটিকে রফতানি করে ।


8
নোট করুন ওপিতে -print_certsতার কমান্ডটিতে প্যারামিটার ছিল । এটি আউটপুট ফর্ম্যাটকে প্রভাবিত করে: এর সাথে আপনি একটি পিইএম ফর্ম্যাট পান (----- শুরু করুন শংসাপত্র -----) দিয়ে এবং এটি ছাড়া আপনি একটি পিকেসিএস # 7 ফর্ম্যাট পাবেন (----- শুরু করুন পিকেসিএস 7-- ---)
সিলভাইন

আমি কেবল সেই -inform derঅংশটি ফেলে দিলে এটি কাজ করে । এও নোট করুন যে উইন্ডোজ সার্ট ম্যানেজার থেকে একটি কী রফতানি করার সময়, ডিইআর এবং পি 7 বি দুটি স্বতন্ত্র বিকল্প options
jpaugh

18

সুতরাং উপরের উত্তরগুলি একত্রিত করতে, আদেশটি হ'ল:
openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem

ওপেনএসএসএল-উইন 64 ব্যবহার করে উইন্ডোজে কাজ করার জন্য যাচাই করা হয়েছে

/ ত্রুটি চিহ্নিত করার জন্য বোগদান ধন্যবাদ


8

আমি এই গাইডটি অনুসরণ করেছি যা আপনাকে এ থেকে শিরোনাম / পাদলেখ রেখাগুলি পরিবর্তন করতে নির্দেশ দেয়

-----BEGIN PKCS #7 SIGNED DATA-----
[data]
-----END PKCS #7 SIGNED DATA-----

প্রতি

-----BEGIN CERTIFICATE-----
[data]
-----END CERTIFICATE-----

তারপরে কমান্ডটি চালান openssl pkcs7 -in foo.modified.crt -print_certs -out foo.certs( foo.modified.crtআপনি যে পরিবর্তিত সংস্করণটি সংরক্ষণ করেছেন সেই ফাইলটি কোথায় ) এটি আমাকে অন্য উত্তরের মত প্রস্তাবিত উইন্ডোজ শংসাপত্র রফতানির মধ্য দিয়ে চলার মতো একই ফলাফল দিয়েছে।


5

আমি যতদূর জানি, নীচেরগুলিতে একটি পিকেসিএস 7 সার্টকে একটি পেমে রূপান্তর করা উচিত

openssl pkcs7 -in certificate_file.p7b -print_certs -out cert.pem

আপনি কেন এই উত্তরটি এই থ্রেডের সাথে সম্পর্কিত বলে বোঝাচ্ছেন? কারণ আপনি যেমন দেখতে পান এটি উপরের মতোই।
মিশভারা

3

আমার ক্ষেত্রে দ্রুত সমাধান (নিখুঁত শিরোলেখ / পাদলেখ সহ অনেকগুলি ফাইল):

base64 -d $FILE | openssl pkcs7 -inform DER -print_certs


1
আমার একটি বেস 64 এনকোডেড শংসাপত্র ছিল এবং আমি এটি সম্পর্কে আরও কিছুই জানতাম না এবং বেস 64 -d কমান্ডটি আমাকে অনেক ঝামেলা বাঁচিয়েছিল। এই সমাধানটি অনুসন্ধানের ফলাফলগুলিতে আরও সহজলভ্য হওয়া উচিত। ধন্যবাদ!

2

আমারও এই সমস্যা ছিল আমি একটি উইন 7 হোস্ট থেকে অনুলিপি করা একটি পি 7 বি ফাইল যাচাই করতে যাচ্ছি।

আমি জানতে পেরেছি যে জিনোম কীরিং শংসাপত্রটি আমদানি করতে পারে। সেখান থেকে DER এ রফতানি করা সহজ

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