class Net::SSH::Authentication::ED25519::OpenSSHPrivateKeyLoader
def self.bcrypt_pbkdf_key(password, salt, length, rounds)
def self.bcrypt_pbkdf_key(password, salt, length, rounds) begin require_bcrypt_pbkdf rescue LoadError raise DecryptError.new("bcrypt_pbkdf is required to decrypt bcrypt-encrypted OpenSSH private keys") end raise DecryptError.new("Passphrase required for encrypted private key", encrypted_key: true) if password.nil? || password.empty? key = BCryptPbkdf::key(password, salt, length, rounds) raise DecryptError.new("BCryptPbkdf failed", encrypted_key: true) unless key key end