ব্যক্তিগত কী লোড করতে অক্ষম। (পিইএম রুটিনগুলি: PEM_read_bio: কোনও প্রারম্ভিক রেখা নেই: pem_lib.c: 648: প্রত্যাশী: কোনও ব্যক্তিগত কী)


92

আমার কাছে একটি .key ফাইল আছে যা পিইএম ফর্ম্যাট করা প্রাইভেট কী ফাইল। আমি এই ফাইলটি তৈরি করি নি তবে কোথাও থেকে এটি পেয়েছি।

আমি এর এমডি 5 হ্যাশটি নীচের কমান্ডের মতো ওপেনসেল সরঞ্জাম দিয়ে দেখতে চেয়েছি।

openssl rsa -in server.key -modulus -noout

তবে এটি ত্রুটির নীচে উত্পন্ন করে।

unable to load Private Key
13440:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:648:Expecting: ANY PRIVATE KEY

এখানে .key ফাইলটির কিছু asn1 পার্স রয়েছে।

openssl asn1parse -in server.key
0:d=0  hl=4 l= 603 cons: SEQUENCE
4:d=1  hl=2 l=   1 prim: INTEGER           :00
7:d=1  hl=3 l= 129 prim: INTEGER           :C141201603899993919CBAA56985E9C7
C6A2AF713A02F5FE88D38CEFBED9304599689280B84B0AB577A9719CA20DDA1246A894AF397A2C57
EE5A582B036CC367E3667454DCD82DBDBF187C35FE39F61C71B517DDDF576F5471B4EC2E045E0F9D
619F5616C4E832F00CBD0DBF41B4BA3CBC4B4B603AE1FE61965917DA732E0DEF
139:d=1  hl=2 l=   3 prim: INTEGER           :010001
144:d=1  hl=3 l= 128 prim: INTEGER           :1687B9AE67562CEDEBDD7A531B84CDB7
093CE138519B93C34B7F626076FF0A262B16EA71904ACB6251A39307C04ADE202055BA13DD9F1539
6123EE408183361A9BC08B9413FA360EA928E48CC3F52B33ACF2980758F02BA2139F652F30A257C2
2E45D7C25835FC4D22B9ECECC12AB632318D4F47E1EBDAD9781B96BCFF03A2D1

 ...

আমি আরও কিছু চেষ্টা করতে পারি?


4
পিইএম ফাইলের সঠিক শিরোনাম / পাদচরণ কী? আপনি যদি কোনও সর্বজনীন কীতে প্রেরণ করছেন তবে আপনি এই ত্রুটিটি পেতে পারেন। এছাড়াও, আপনার তালিকাভুক্ত কমান্ডটি MD5 হ্যাশ দেয় না। এটি কীটির মডুলাস দেবে।
gtrig

আমি scpউইন্ডোজ থেকে উবুন্টুতে ফাইলটি অনুলিপি করতাম । এটি ঠিক করার জন্য, আমি উবুন্টুতে ফাইলটি মুছলাম, সেখানে একটি নতুন খালি ফাইল তৈরি করেছি এবং ব্যবহার করেছি vimএবং তারপরে সঠিক বিষয়বস্তুতে আটকানো করেছি।
রায়ান

উত্তর:


64

নোটপ্যাড ++ এ কী ফাইলটি খুলুন এবং এনকোডিং যাচাই করুন। যদি এটি ইউটিএফ-8-বিওএম বলে থাকে তবে এটি ইউটিএফ -8 এ পরিবর্তন করুন। ফাইলটি সংরক্ষণ করুন এবং আবার চেষ্টা করুন।


4
আমি যদি ম্যাক ব্যবহার করছি?
আর্নেস্ট জামেলেজিক

6
ভিজ্যুয়াল স্টুডিও কোডটি ব্যবহার করুন - আপনি নীচের সরঞ্জামদণ্ডটি ব্যবহার করে সহজেই এনকোডিংটি পরিবর্তন করতে পারেন!
লুকা ঘেরসি

4
ওহে আমার Godশ্বর! ধন্যবাদ! আমি কখনই পরীক্ষার এবং ত্রুটির দ্বারা বিষয়টি বুঝতে পারিনি, বিষয়টি আমার জন্য স্থির করে!
মিকেল ডায়ারবার্গ হানসেন

এটা আমার জন্য ছিল। ধন্যবাদ!
ফ্রিম্যান হেলমথ

4
GoDaddy একটি বিওএম-এর উপসর্গযুক্ত "উত্পন্ন-প্রাইভেট-কী.টেক্সট" প্রাইভেট কী তৈরি করে, যা এই সমস্যার কারণ হয়। কমপক্ষে একটি ম্যাকের উপরে, বিড়ালটির সাথে কী পাঠ্যটি ফেলে দেওয়া বিওএম প্রদর্শন করে না তবে এটি কম করে দিয়ে দেখায়। আমি বিওএম সরানোর জন্য বিবিএডিট ব্যবহার করেছি, তবে যে কোনও ফর্ম্যাটটি পরিবর্তন করতে পারে বা প্রথম চারটি বাইট কেটে ফেলতে পারে তা কার্যকর হবে।
শেঠ নোবেল

55

আমি পিইএম ফাইলের শিরোলেখ এবং পাদচরণটি পরিবর্তিত করেছি

-----BEGIN RSA PRIVATE KEY-----

এবং

-----END RSA PRIVATE KEY-----

অবশেষে, এটি কাজ করে!


4
এছাড়াও আপনি যোগ করতে পারেন -inform pemকমান্ড একই ফলাফল পেতে। যেমন openssl rsa -in server.key -modulus -noout -inform pem
সাইমন উডসাইড

4
পরীক্ষা করে দেখুন stackoverflow.com/questions/54994641/... এটি আপনার সমস্যা solves
qstack

কিছু ইতিমধ্যে "খারাপ" ফর্ম্যাট (যেমন অপরিবর্তিত শিরোলেখ) দিয়ে সঠিকভাবে কাজ করছে, সুতরাং, এটি একটি অস্থায়ী সমাধান যা ইতিমধ্যে ঠিকঠাকভাবে কাজ করে এমন কিছু ভাঙতে বাধ্য, যেমন, একটি বিপরীত প্রক্সি যা ম্যানুয়ালি অভাবের জন্য ক্র্যাশ হচ্ছে না is সংশোধিত শিরোনাম এবং পাদচরণ। ইয়েপস!
আলেজান্দ্রব

32

আপনার .key ফাইলটিতে অবৈধ অক্ষর রয়েছে। আপনি এইভাবে .key ফাইলটি চেক করতে পারেন:

# file server.key

আউটপুট "সার্ভার.কি: ইউটিএফ -8 ইউনিকোড (বিওএম সহ) পাঠ্য" এর অর্থ এটি কোনও সরল পাঠ্য, কোনও মূল ফাইল নয়। সঠিক আউটপুটটি "সার্ভার.কি: পিইএম আরএসএ প্রাইভেট কী" হওয়া উচিত।

অবৈধ অক্ষর মুছে ফেলার জন্য নীচের কমান্ডটি ব্যবহার করুন:

# tail -c +4 server.key > new_server.key

New_server.key সঠিক হওয়া উচিত।

আরও বিশদের জন্য, আপনি এখানে ক্লিক করতে পারেন , পোস্টের জন্য ধন্যবাদ।


4
file server.keyএই আদেশটি আমাকে সমস্যাটি পেতে সহায়তা করেছে। ধন্যবাদ
হর্ষাদ

লেজ কমান্ডটি দেখে মনে হচ্ছে যে আমার কী ফাইলটিতে অদ্ভুত বিন্যাসের অক্ষর যুক্ত হয়েছে। কেন হবে তা নিশ্চিত নয়।
ryanwebjackson

এটি @tkpl উত্তরের সাথে মিলিয়ে আমার কাছে ত্রুটিগুলি দূর করেছে বলে মনে হচ্ছে।
ryanwebjackson

এটি আমার কয়েক ঘন্টা এবং পুরো চুলকে বাঁচিয়েছিল।
ফিলিপ গুসামাও

6
> I have a .key file which is PEM formatted private key file.
> ...
> Here's some asn1parse of the .key file...

এটি ঠিক আছে বলে মনে হয় এটি asn1parseআমাকে পিএম এনকোডড না করে বিশ্বাস করতে পরিচালিত করে ।


আমি আরও কিছু চেষ্টা করতে পারি?

এটি ASN.1 হিসাবে উপস্থিত বলে মনে হচ্ছে, চেষ্টা করুন:

$ openssl rsa -in server.key -inform DER -modulus -noout

-inform DERএনকোডিংগুলির মধ্যে স্যুইচ করার জন্য লক্ষ্য করুন ।



5

.Key ফাইলের শুরুতে যে কোনও সাদা স্থান সরিয়ে ফেলুন।



2

আমি উইন্ডোজ 10 এ আছি এবং আমি উইন্ডোজ 1252 এনকোডিংয়ের মাধ্যমে আমার কীটি সংরক্ষণ করেছি এবং এটি আমার পক্ষে কাজ করে। অন্য স্ট্যাকওভারফ্লো প্রশ্নে কিছু লোক বিওএম দিয়ে ইউটিএফ -8 দিয়ে এটি ঠিক করছিলেন ।

অন্য কথায়, এটি ফাইল এনকোডিং হতে পারে।


1

প্রাইভেট কী নিজেই ফাইলটিতে উপস্থিত নাও হতে পারে I আমিও একই সমস্যার মুখোমুখি হয়েছিলাম তবে সমস্যাটি হ'ল ফাইলটিতে কোনও ব্যক্তিগত কী নেই।


1

আপনি যদি আপনার ব্যক্তিগত কী পরিবর্তে শংসাপত্র তৈরি করতে আপনার সর্বজনীন কীটি ব্যবহার করার চেষ্টা করছেন তবে এটি ঘটতে পারে। আপনার ব্যক্তিগত কী ব্যবহার করা উচিত


0

আজও একই সমস্যা ছিল এবং লক্ষ্য করা গেছে যে যখন ফাইলের মালিক / গোষ্ঠী কীটি পড়ে না এমন কোনও চলমান অ্যাপ্লিকেশন না হয়। আপনার সমস্যাটিও হতে পারে।


0

অন্য উত্তরগুলির কোনওটিই আমার ক্ষেত্রে সঠিক বলে মনে হয়নি, তবে আমি আসল উত্তরটি এখানে পেয়েছি

আমার id_rsaফাইলটি ইতিমধ্যে পিইএম ফর্ম্যাটে ছিল, আমার কেবলমাত্র ফাইল নামটিতে .pemএক্সটেনশন যুক্ত করা দরকার ।

ধন্যবাদ

openssl rsa -informপ্যারামিটারের সম্ভাব্য বিকল্পগুলি হ'ল:PEM DER

একটি PEMএনকোডযুক্ত ফাইল হ'ল একটি প্লেইন-পাঠ্য এনকোডিং যা দেখতে এমন কিছু দেখাচ্ছে:

-----BEGIN RSA PRIVATE KEY-----
MIGrAgEAAiEA0tlSKz5Iauj6ud3helAf5GguXeLUeFFTgHrpC3b2O20CAwEAAQIh
ALeEtAIzebCkC+bO+rwNFVORb0bA9xN2n5dyTw/Ba285AhEA9FFDtx4VAxMVB2GU
QfJ/2wIRANzuXKda/nRXIyRw1ArE2FcCECYhGKRXeYgFTl7ch7rTEckCEQDTMShw
8pL7M7DsTM7l3HXRAhAhIMYKQawc+Y7MNE4kQWYe
-----END RSA PRIVATE KEY-----

যখন DER একটি বাইনারি এনকোডিং ফর্ম্যাট।


0

আমাদের ক্ষেত্রে সমস্যাটির কারণ কী তা হ'ল আমরা যে ব্যক্তিগত কীটি ব্যবহার করার চেষ্টা করছিলাম সেটি একটি পাসফ্রেজ দিয়ে এনক্রিপ্ট করা হয়েছিল।

ssh-keygen -pওপেনসেল কমান্ড লাইন সরঞ্জামের সাহায্যে প্রাইভেট কীটি ব্যবহার করার আগে আমাদের প্রাইভেট কীটি ডিক্রিপ্ট করতে হয়েছিল।


-6

কেন সেফেটেট বট ব্যবহার করছেন না

yum ইপেল-রিলিজ ইনস্টল করুন

yum ইনস্টল করুন certbot-nginx

একটি শংসাপত্র প্রাপ্ত

certbot --nginx -d example.com -d www.example.com

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