কোনও প্রাইভেট কী কীভাবে কোনও আরএসএ প্রাইভেট কীতে রূপান্তর করবেন?


98

আমাকে প্রথমে আমার প্রশ্নটি ব্যাখ্যা করুন। আমি একটি সিএ থেকে একটি শংসাপত্র কিনেছি এবং সিএসআর এবং ব্যক্তিগত কী তৈরি করতে নিম্নলিখিত ফর্ম্যাটটি ব্যবহার করেছি:

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

আমি যখন সার্ভার.কি ফাইলটি খুলি, আমি দেখতে পাচ্ছি যে এটি "----- প্রাইভেট কী -----" দিয়ে শুরু হয়

আমি আমার সার্ভারে SSL সার্টিফিকেট ব্যবহার করি এবং সবকিছু ঠিক আছে।

এখন আমি একই শংসাপত্রটি এডাব্লুএস আইএমে আপলোড করতে চাই যাতে আমি এটির জন্য বেনস্টালক লোড ব্যালেন্সার ব্যবহার করতে পারি। আমি এই আওস ডক থেকে নিম্নোক্ত কমান্ড ব্যবহার http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth

iam-servercertupload -b public_key_certificate_file  -k privatekey.pem -s certificate_object_name

আমি প্রয়োজনীয় হিসাবে শংসাপত্রের ফাইলের নামগুলি পরিবর্তন করি তবে এই ত্রুটিটি পেতে থাকি: "400 ম্যালফোর্ডকার্টিফিকেট অবৈধ ব্যক্তিগত কী" "

মজার বিষয় হ'ল, অ্যাউজ ডক পৃষ্ঠায়, তারা যে নমুনা কী দেখায় তা "------- আরএসএ প্রাইভেট কী শুরু করুন --------" দিয়ে শুরু হয়

ওপেনসেল ব্যবহার করে আমার ব্যক্তিগত কীটি কোনও আরএসএ প্রাইভেট কীতে রূপান্তর করার কোনও উপায় আছে?

উত্তর:


156

ওপেনএসএসএল এর নতুন সংস্করণগুলি বলছে BEGIN PRIVATE KEYকারণ এগুলিতে ব্যক্তিগত কী + একটি ওআইডি রয়েছে যা মূল প্রকারটি সনাক্ত করে (এটি পিকেসিএস 8 ফর্ম্যাট হিসাবে পরিচিত)। পুরানো স্টাইল কীটি (যা পিকেসিএস 1 বা traditionalতিহ্যবাহী ওপেনএসএসএল ফর্ম্যাট হিসাবে পরিচিত) পেতে আপনি এটি করতে পারেন:

openssl rsa -in server.key -out server_new.key

পর্যায়ক্রমে, আপনার কাছে যদি পিকেসিএস 1 কী থাকে এবং পিকেসিএস 8 চান:

openssl pkcs8 -topk8 -nocrypt -in privkey.pem

4
Invalid PEM structure, '-----BEGIN...' missing.সাইবারডাককের মতো সরঞ্জামগুলির মতো অদ্ভুত ত্রুটি বার্তাগুলি পাওয়ার সমাধান এটিও যখন একই কী সহ খাঁটি এসএসএইচ কাজ করে।
ড্যানিয়েল

4
ধন্যবাদ! আমি এটি পেয়েছিলাম A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.এবং এটি আমার ব্যক্তিগত কীতে চালিত করছিলাম এটি ঠিক করে দিয়েছে!
ফিলাফ্রেও

4
রেফারেন্সের জন্য: আরও সম্পূর্ণ ব্যাখ্যার জন্য stackoverflow.com/q/20065304/53974 দেখুন।
ব্লেজারব্লেড

4
আমরা এর বিপরীতটি কীভাবে করব? আমি একটি Private Keyথেকে একটি প্রয়োজন RSA Private Key?
এডিথার্ড

4
openssl pkcs8 -topk8 -nocrypt -in privkey.pemস্টকোতে একটি পিকেসিএস 8 লিখবেন
পল

26

এটি কিছুটা সহায়ক হতে পারে (কমান্ডগুলিতে আক্ষরিকভাবে ব্যাকস্ল্যাশ '\' লিখবেন না, তারা বোঝাতে চেয়েছেন যে "সবকিছুই এক লাইনে থাকতে হবে"):

কখন কোন আদেশ প্রয়োগ করতে হবে

দেখে মনে হচ্ছে যে সমস্ত কমান্ড (ধূসরতে) যে কোনও ধরণের কী ফাইল (সবুজ রঙে) "ইন" আর্গুমেন্ট হিসাবে গ্রহণ করে। যা সুন্দর.

আরও সহজে অনুলিপি-পেস্ট করার জন্য এখানে আদেশগুলি দেওয়া হল:

openssl rsa                                                -in $FF -out $TF
openssl rsa -aes256                                        -in $FF -out $TF
openssl pkcs8 -topk8 -nocrypt                              -in $FF -out $TF
openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA256 -in $FF -out $TF

এবং

openssl rsa -check -in $FF
openssl rsa -text  -in $FF

4
চিত্রটির "গ্রাফিকাল" ফাইল (যা উদাহরণস্বরূপ ইয়র্কস ইডি দিয়ে সম্পাদনা করা যেতে পারে) এখানে
ডেভিড টনহোফার

12

"শুরু করুন প্রাইভেট কী" শুরু করুন "শুরু করুন আরএসএ প্রাইভেট কী"

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

4
আমার ঠিক এটিই দরকার ছিল। ধন্যবাদ!
রস

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