Method: SSHData::PrivateKey.parse_openssh

Defined in:
lib/ssh_data/private_key.rb

.parse_openssh(key) ⇒ Object

Parse an OpenSSH formatted private key.

key - An OpenSSH encoded private key.

Returns an Array of PrivateKey::Base subclass instances.



39
40
41
42
43
44
45
46
47
48
# File 'lib/ssh_data/private_key.rb', line 39

def self.parse_openssh(key)
  raw = Encoding.decode_pem(key, OPENSSH_PEM_TYPE)

  data, read = Encoding.decode_openssh_private_key(raw)
  unless read == raw.bytesize
    raise DecodeError, "unexpected trailing data"
  end

  from_data(data)
end