I düşünüyorum Özel şifrelenmiş RSA anahtarlarını nasıl oluşturacağımı biliyorum, ancak ssh-keygen gibi şifrelenmiş bir dosyayı nasıl okuyabilirim?Ruby'den bir özel RSA anahtarı açma
OpenSSL::PKey::RSA.new(File.read('private_key'))
Ama sonra OpenSSL ben bir parametre olarak OpenSSL için iletebilirsiniz nasıl ... parola için bana sorar:
Bunu yapabileceğini biliyorum?
Ayrıca, ssh-keygen tarafından oluşturulanlara nasıl uyumlu bir tane oluşturabilirim?
Ben özel şifreli anahtarlar oluşturmak için böyle bir şey yapmak: OpenSSL tarafından oluşturulan
Ayrıcapass = '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
, anahtarları :: PKey :: RSA.new (1024) (şifreleme olmadan), ne zaman çalışmaz ben Parolasız girişleri (yani, ortak anahtarı sunucuya kopyalarım ve oturum açmak için özel olanı kullanıyorum) deneyin. Ayrıca, bir ssh-keygen dosyasını OpenSSL aracılığıyla açıp içeriklerini kontrol ettiğimde, anahtarın başına ve sonunda ek karakterlere sahip olduğu görülüyor. Bu normal mi?
Bu güvenlik öğelerinden bazılarını anlamıyorum, ancak öğrenmeye çalışıyorum. Yanlış olan şey nedir?