ডিক্রিপশনের জন্য ওপেনএসএল-এর মাধ্যমে কমান্ড লাইনের মাধ্যমে কীভাবে পাসওয়ার্ড যুক্তি ব্যবহার করতে হবে


54

সুতরাং কোনও কমান্ড লাইনের যুক্তির মাধ্যমে পাসওয়ার্ড পাস করা সবচেয়ে নিরাপদ অনুশীলন নয়। এটি বলেছিল যে ওপেনসেলের জন্য ডকুমেন্টেশন আমাকে কীভাবে ওপেনএসএল কমান্ডে পাসওয়ার্ড যুক্তিটি পাস করতে পারে তা নিয়ে বিভ্রান্ত করে।

এখানে আমি যা করার চেষ্টা করছি

openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d

এটি ডিক্রিপশন জন্য পাস কী জন্য অনুরোধ জানায়। আমি ওপেনসেল ডকুমেন্টস এবং ইন্টারভেস্টগুলি অনুসন্ধান করে উত্তরটি খুঁজে পেতে চাইলে যদি আমি কেবল ফাইলটিতে পাসওয়ার্ড প্রতিধ্বনি না করে কমান্ডটিতে পাসওয়ার্ড দিতে চাইতাম। আমি যোগ চেষ্টা -pass:somepasswordএবং -pass somepasswordউভয় সঙ্গে এবং কোন উপকার উদ্ধৃতি চিহ্ন বিনা।

অবশেষে আমি উত্তরটি সন্ধান করলাম এবং অন্য কয়েকটি ফোরামে দেখলাম লোকজনের একই রকম প্রশ্ন রয়েছে, তাই আমি ভেবেছিলাম যে আমি আমার প্রশ্নটি এখানে পোস্ট করব এবং সম্প্রদায়ের জন্য উত্তর দেব।

দ্রষ্টব্য: আমি ওপেনসেল সংস্করণ 0.9.8y ব্যবহার করছি

উত্তর:


108

ডকুমেন্টেশনটি আমার কাছে খুব স্পষ্ট ছিল না, তবে এর উত্তর ছিল, চ্যালেঞ্জটি উদাহরণ দেখতে পাচ্ছিল না।

এটি কীভাবে করবেন তা এখানে:

openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -pass pass:somepassword

লক্ষ্য করুন যে কমান্ড লাইন কমান্ড সিনট্যাক্স সর্বদা -passএকটি স্থান এবং তারপরে আপনি যে জাতীয় পাসফ্রেজ সরবরাহ করছেন তা যেমন pass:প্লেইন পাসফ্রেজের জন্য এবং তারপরে কোনও স্থান ছাড়াই কোলনের পরে প্রকৃত পাসফ্রেজ থাকে।

অতিরিক্তভাবে ডকুমেন্টেশন আপনাকে নিম্নলিখিত পাসফ্রেজ উত্স সরবরাহ করতে পারে তা নির্দিষ্ট করে:

  • env:somevar পরিবেশ পরিবর্তনশীল থেকে পাসওয়ার্ড পেতে
  • file:somepathname অবস্থানটিতে ফাইলের প্রথম লাইন থেকে পাসওয়ার্ড পেতে pathname
  • fd:number ফাইল বর্ণনাকারী নম্বর থেকে পাসওয়ার্ড পেতে।
  • stdin স্ট্যান্ডার্ড ইনপুট থেকে পড়া

এখন যেহেতু আমি এই প্রশ্ন এবং উত্তর লিখেছি, এটি সমস্ত সুস্পষ্ট বলে মনে হচ্ছে। তবে এটি অবশ্যই খুঁজে বের করতে কিছুটা সময় নিয়েছিল এবং আমি অন্যকে একই রকম সময় নিতে দেখেছি, তাই আশা করি এটি সেই সময়টি হ্রাস করতে পারে এবং অন্যদের জন্য দ্রুত উত্তর দিতে পারে! :)

ওপেনএসএসএল 1.0.1e এর সাথে প্যারামিটারটি ব্যবহার করা হয় -passinবা হয় -passout। সুতরাং এই উদাহরণটি হ'ল:

openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -passin pass:somepassword


পাসিন বা পাসআউট ব্যবহারের মধ্যে পার্থক্য কী? - হা! সবেমাত্র এটি সন্ধান করা, স্টিডিন বনাম স্টাডআউট অবশ্যই!
dtmland

লক্ষ্য করুন পাসওয়ার্ড বিকল্পের জন্য ডকুমেন্টেশন আবেদন সবচেয়ে openssl কমান্ড (শুধুমাত্র enc) OpenSSL (1) জন্য man পৃষ্ঠা রয়েছে এছাড়াও ওয়েবে 'option' অধীনে। কিন্তু আমি আপনার পাসপিন / আউট সম্পর্কে শেষ বিট বিশ্বাস করি না; অন্যান্য openssl কমান্ড পছন্দ rsa dsa ec pkey pkcs8 pkcs12 req caযারা ব্যবহার করবেন কিন্তু প্রত্যেক সংস্করণে আমি মূল প্রজেক্টের উৎস থেকে সরাসরি নির্মিত 1.0.1e সহ দেখা করেছি encব্যবহারসমূহ -passবা -k -kfile(চালু নথিভুক্ত যেমন encর manpage)।
dave_thompson_085

openssl dgstকমান্ড সম্পর্কে কি ? কমান্ড লাইনে আপনি কীভাবে পাসফ্রেজ প্রবেশ করবেন?
ফ্রেমম্যান 1

4
BTW -passinইনপুট সার্টিফিকেটের জন্য একটি পাসওয়ার্ড সরবরাহ করতে ব্যবহৃত হয়, এবং -passoutনতুন উত্পন্ন সার্টিফিকেটের জন্য নয়
drmad

7

আমি ব্যবহার করেছি -passinএবং -passoutউদাহরণস্বরূপ উভয় ফাইলে পাসওয়ার্ড সেট করতে:

openssl pkcs12 -in voip.p12 -out voip.pem -passin pass:123 -passout pass:321

কোথায় 123এবং 321পাসওয়ার্ড


5

এই মুহুর্তে উবুন্টু 14.04 এলটিএস ওপেনসেল 1.0.1f-1ubuntu2.16 এর সাথে আসে

এই সংস্করণে ব্যবহার করার প্যারামিটারটি -k

উদাহরণ:

openssl enc -aes-256-cbc -e -in some_file.unenc -out some_file.enc -k somepassword

1
আপনার উদাহরণে, -k ওপেনসেল 'এনক' কমান্ডের জন্য উপলব্ধ একটি বিকল্প (চেষ্টা করুন man enc) এটি সাধারণ বিকল্প নয়। আপনি যদি man openssl'ফ্রেস বাক্স বিকল্পগুলি' শিরোনামের নীচে দেখতে পাবেন তবে সাধারণ বিকল্পগুলি কী, pass:password, env:var, file:pathname, fd:numberবা stdin, আগের প্রতিক্রিয়ায় হিসাবে উল্লেখ করেছে।
সিবাজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.