Package paramiko :: Module pkey :: Class PKey
[show private | hide private]
[frames | no frames]

Class PKey

object --+
         |
        PKey

Known Subclasses:
DSSKey, RSAKey

Base class for public keys.
Method Summary
  __init__(self, msg, data)
Create a new instance of this public key type.
int __cmp__(self, other)
Compare this key to another.
string __str__(self)
Return a string of an SSH Message made up of the public part(s) of this key.
PKey from_private_key_file(cl, filename, password)
Create a key object by reading a private key file. (Class method)
string get_base64(self)
Return a base64 string containing the public part of this key.
string get_fingerprint(self)
Return an MD5 fingerprint of the public part of this key.
string get_name(self)
Return the name of this private key implementation.
  read_private_key_file(self, filename, password)
Read private key contents from a file into this object.
Message sign_ssh_data(self, randpool, data)
Sign a blob of data with this private key, and return a Message representing an SSH signature message.
boolean verify_ssh_sig(self, data, msg)
Given a blob of data, and an SSH message representing a signature of that data, verify that it was signed with this key.
  write_private_key_file(self, filename, password)
Write private key contents into a file.
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __repr__(x)
x.__repr__() <==> repr(x)
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
    Inherited from type
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T

Instance Method Details

__init__(self, msg=None, data=None)
(Constructor)

Create a new instance of this public key type. If msg is given, the key's public part(s) will be filled in from the message. If data is given, the key's public part(s) will be filled in from the string.
Parameters:
msg - an optional SSH Message containing a public key of this type.
           (type=Message)
data - an optional string containing a public key of this type
           (type=string)
Overrides:
__builtin__.object.__init__

__cmp__(self, other)
(Comparison operator)

Compare this key to another. Returns 0 if this key is equivalent to the given key, or non-0 if they are different. Only the public parts of the key are compared, so a public key will compare equal to its corresponding private key.
Parameters:
other - key to compare to.
           (type=PKey)
Returns:
0 if the two keys are equivalent, non-0 otherwise.
           (type=int)

__str__(self)
(Informal representation operator)

Return a string of an SSH Message made up of the public part(s) of this key. This string is suitable for passing to __init__ to re-create the key object later.
Returns:
string representation of an SSH key message.
           (type=string)
Overrides:
__builtin__.object.__str__

get_base64(self)

Return a base64 string containing the public part of this key. Nothing secret is revealed. This format is compatible with that used to store public key files or recognized host keys.
Returns:
a base64 string containing the public part of the key.
           (type=string)

Since: fearow

get_fingerprint(self)

Return an MD5 fingerprint of the public part of this key. Nothing secret is revealed.
Returns:
a 16-byte string (binary) of the MD5 fingerprint, in SSH format.
           (type=string)

get_name(self)

Return the name of this private key implementation.
Returns:
name of this private key type, in SSH terminology (for example, "ssh-rsa").
           (type=string)

read_private_key_file(self, filename, password=None)

Read private key contents from a file into this object. If the private key is encrypted and password is not None, the given password will be used to decrypt the key (otherwise PasswordRequiredException is thrown).
Parameters:
filename - name of the file to read.
           (type=string)
password - an optional password to use to decrypt the key file, if it's encrypted.
           (type=string)
Raises:
IOError - if there was an error reading the file.
PasswordRequiredException - if the private key file is encrypted, and password is None.
SSHException - if the key file is invalid.

sign_ssh_data(self, randpool, data)

Sign a blob of data with this private key, and return a Message representing an SSH signature message.
Parameters:
randpool - a secure random number generator.
           (type=Crypto.Util.randpool.RandomPool)
data - the data to sign.
           (type=string)
Returns:
an SSH signature message.
           (type=Message)

verify_ssh_sig(self, data, msg)

Given a blob of data, and an SSH message representing a signature of that data, verify that it was signed with this key.
Parameters:
data - the data that was signed.
           (type=string)
msg - an SSH signature message
           (type=Message)
Returns:
True if the signature verifies correctly; False otherwise.
           (type=boolean)

write_private_key_file(self, filename, password=None)

Write private key contents into a file. If the password is not None, the key is encrypted before writing.
Parameters:
filename - name of the file to write.
           (type=string)
password - an optional password to use to encrypt the key file.
           (type=string)
Raises:
IOError - if there was an error writing the file.
SSHException - if the key is invalid.

Since: fearow


Class Method Details

from_private_key_file(cl, filename, password=None)

Create a key object by reading a private key file. This is roughly equivalent to creating a new key object and then calling read_private_key_file on it. Through the magic of python, this factory method will exist in all subclasses of PKey (such as RSAKey or DSSKey), but is useless on the abstract PKey class.
Parameters:
filename - name of the file to read.
           (type=string)
password - an optional password to use to decrypt the key file, if it's encrypted
           (type=string)
Returns:
a new key object based on the given private key.
           (type=PKey)
Raises:
IOError - if there was an error reading the file.
PasswordRequiredException - if the private key file is encrypted, and password is None.
SSHException - if the key file is invalid.

Since: fearow


Generated by Epydoc 2.0 on Sun Jun 27 13:06:21 2004 http://epydoc.sf.net