1Net::SSH::Perl::Key(3)User Contributed Perl DocumentationNet::SSH::Perl::Key(3)
2
3
4
6 Net::SSH::Perl::Key - Public or private key abstraction
7
9 use Net::SSH::Perl::Key;
10 my $key = Net::SSH::Perl::Key->new;
11
13 Net::SSH::Perl::Key implements an abstract base class interface to key
14 objects (either DSA or RSA keys, currently). The underlying
15 implementation for RSA is an internal, hash-reference implementation;
16 the DSA implementation uses Crypt::DSA.
17
19 Net::SSH::Perl::Key->new($key_type [, $blob [, $compat_flag_ref ]])
20 Creates a new object of type Net::SSH::Perl::Key::$key_type, after
21 loading the class implementing $key_type. $key_type should be either
22 "DSA" or "RSA1", currently; these are the only supported key
23 implementations at the moment.
24
25 $blob, if present, should be a string representation of the key, from
26 which the key object can be initialized. In fact, it should be the
27 representation that is returned from the as_blob method, below.
28
29 $compat_flag_ref should be a reference to the SSH compatibility flag,
30 which is generally stored inside of the Net::SSH::Perl object. This
31 flag is used by certain key implementations ("DSA") to work around
32 differences between SSH2 protocol implementations.
33
34 Returns the new key object, which is blessed into the subclass.
35
36 Net::SSH::Perl::Key->read_private($key_type, $file [, $pass])
37 Reads a private key of type $key_type out of the key file $file. If the
38 private key is encrypted, an attempt will be made to decrypt it using
39 the passphrase $pass; if $pass is not provided, the empty string will
40 be used. An empty passphrase can be a handy way of providing password-
41 less access using publickey authentication.
42
43 If for any reason loading the key fails, returns undef; most of the
44 time, if loading the key fails, it's because the passphrase is
45 incorrect. If you first tried to read the key using an empty
46 passphrase, this might be a good time to ask the user for the actual
47 passphrase. :)
48
49 Returns the new key object, which is blessed into the subclass denoted
50 by $key_type (either "DSA" or "RSA1").
51
52 Net::SSH::Perl::Key->keygen($key_type, $bits)
53 Generates a new key and returns that key. The key returned is the
54 private key, which (presumably) contains all of the public key data, as
55 well. $bits is the number of bits in the key.
56
57 Your $key_type implementation may not support key generation; if not,
58 calling this method is a fatal error.
59
60 Returns the new key object, which is blessed into the subclass denoted
61 by $key_type (either "DSA" or "RSA1").
62
63 Net::SSH::Perl::Key->extract_public($key_type, $key_string)
64 Given a key string $key_string, which should be a textual
65 representation of the public portion of a key of $key_type, extracts
66 the key attributes out of that string. This is used to extract public
67 keys out of entries in known_hosts and public identity files.
68
69 Returns the new key object, which is blessed into the subclass denoted
70 by $key_type (either "DSA" or "RSA1").
71
72 $key->write_private([ $file [, $pass] ])
73 Writes out the private key $key to $file, and encrypts it using the
74 passphrase $pass. If $pass is not provided, the key is unencrypted, and
75 the only security protection is through filesystem protections.
76
77 If $file is not provided, returns the content that would have been
78 written to the key file.
79
80 $key->dump_public
81 Performs the inverse of extract_public: takes a key $key and dumps out
82 a textual representation of the public portion of the key. This is used
83 when writing public key entries to known_hosts and public identity
84 files.
85
86 Returns the textual representation.
87
88 $key->as_blob
89 Returns a string representation of the public portion of the key; this
90 is not the same as dump_public, which is intended to match the format
91 used in known_hosts, etc. The return value of as_blob is used as an
92 intermediary in computing other values: the key fingerprint, the known
93 hosts representation, etc.
94
95 $key->equal($key2)
96 Returns true if the public portions of $key are equal to those of
97 $key2, and false otherwise. This is used when comparing server host
98 keys to keys in known_hosts.
99
100 $key->size
101 Returns the size (in bits) of the key $key.
102
103 $key->fingerprint([ $type ])
104 Returns a fingerprint of $key. The default fingerprint is a hex
105 representation; if $type is equal to "bubblebabble", the Bubble Babble
106 representation of the fingerprint is used instead. The former uses an
107 MD5 digest of the public key, and the latter uses a SHA-1 digest.
108
110 Please see the Net::SSH::Perl manpage for author, copyright, and
111 license information.
112
113
114
115perl v5.12.2 2008-10-02 Net::SSH::Perl::Key(3)