सोचें मुझे कस्टम एन्क्रिप्टेड आरएसए कुंजी बनाने के बारे में पता है, लेकिन मैं एसएस-कीजेन की तरह एन्क्रिप्टेड कैसे पढ़ सकता हूं?रुबी
मैं जानता हूँ कि मैं यह कर सकता:
OpenSSL::PKey::RSA.new(File.read('private_key'))
लेकिन तब OpenSSL मुझे पदबंध के लिए पूछता है ... मैं कैसे एक पैरामीटर के रूप में OpenSSL करने के लिए इसे पारित कर सकते हैं?
और, मैं ssh-keygen द्वारा जेनरेट किए गए लोगों के लिए एक संगत कैसे बना सकता हूं?
मैं निजी एन्क्रिप्टेड कुंजी बनाने के लिए कुछ इस तरह करते हैं: OpenSSL द्वारा उत्पन्न
pass = '123456'
key = OpenSSL::PKey::RSA.new(1024)
key = "0000000000000000#{key.to_der}"
c = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
c.encrypt
c.key = Digest::SHA1.hexdigest(pass).unpack('a2' * 32).map {|x| x.hex}.pack('c' * 32)
c.iv = iv
encrypted_key = c.update(key)
encrypted_key << c.final
इसके अलावा, चाबियाँ :: PKey :: RSA.new (1024) (एन्क्रिप्शन के बिना), जब काम नहीं करते मैं पासवर्ड-कम लॉग इन आज़माएं (यानी, मैं सर्वर पर सार्वजनिक कुंजी कॉपी करता हूं और लॉगिन करने के लिए निजी का उपयोग करता हूं)।
इसके अलावा, जब मैं ओपनएसएसएल के माध्यम से एक एसएसएच-कीजेन फ़ाइल खोलता हूं और फिर इसकी सामग्री जांचता हूं, तो ऐसा लगता है कि कुंजी के प्रारंभ और अंत में अतिरिक्त वर्ण हैं। क्या यह सामान्य है?
मैं वास्तव में कुछ सुरक्षा सामग्री को समझ नहीं पा रहा हूं, लेकिन मैं सीखने की कोशिश कर रहा हूं। क्या है कि मैं गलत कर रहा हूँ?