Package paramiko :: Class PKey
[frames] | no frames]

Class PKey

source code

object --+
         |
        PKey
Known Subclasses:

Base class for public keys.

Instance Methods
int
__cmp__(self, other)
Compare this key to another.
source code
 
__init__(self, msg=None, data=None)
Create a new instance of this public key type.
source code
str
__str__(self)
Return a string of an SSH Message made up of the public part(s) of this key.
source code
bool
can_sign(self)
Return True if this key has the private part necessary for signing data.
source code
str
get_base64(self)
Return a base64 string containing the public part of this key.
source code
int
get_bits(self)
Return the number of significant bits in this key.
source code
str
get_fingerprint(self)
Return an MD5 fingerprint of the public part of this key.
source code
str
get_name(self)
Return the name of this private key implementation.
source code
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.
source code
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.
source code
 
write_private_key(self, file_obj, password=None)
Write private key contents into a file (or file-like) object.
source code
 
write_private_key_file(self, filename, password=None)
Write private key contents into a file.
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__

Class Methods
PKey
from_private_key(cls, file_obj, password=None)
Create a key object by reading a private key from a file (or file-like) object.
source code
PKey
from_private_key_file(cls, filename, password=None)
Create a key object by reading a private key file.
source code
Properties

Inherited from object: __class__

Method Details

__cmp__(self, other)
(Comparison operator)

source code 

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 (PKey) - key to compare to.
Returns: int
0 if the two keys are equivalent, non-0 otherwise.

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

source code 

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 (Message) - an optional SSH Message containing a public key of this type.
  • data (str) - an optional string containing a public key of this type
Raises:
  • SSHException - if a key cannot be created from the data or msg given, or no key was passed in.
Overrides: object.__init__

__str__(self)
(Informal representation operator)

source code 

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: str
string representation of an SSH key message.
Overrides: object.__str__

can_sign(self)

source code 

Return True if this key has the private part necessary for signing data.

Returns: bool
True if this is a private key.

from_private_key(cls, file_obj, password=None)
Class Method

source code 

Create a key object by reading a private key from a file (or file-like) 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:
  • file_obj (file) - the file to read from
  • password (str) - an optional password to use to decrypt the key, if it's encrypted
Returns: PKey
a new key object based on the given private key
Raises:

from_private_key_file(cls, filename, password=None)
Class Method

source code 

Create a key object by reading a private key file. 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). 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 (str) - name of the file to read
  • password (str) - an optional password to use to decrypt the key file, if it's encrypted
Returns: PKey
a new key object based on the given private key
Raises:

get_base64(self)

source code 

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: str
a base64 string containing the public part of the key.

get_bits(self)

source code 

Return the number of significant bits in this key. This is useful for judging the relative security of a key.

Returns: int
bits in the key.

get_fingerprint(self)

source code 

Return an MD5 fingerprint of the public part of this key. Nothing secret is revealed.

Returns: str
a 16-byte string (binary) of the MD5 fingerprint, in SSH format.

get_name(self)

source code 

Return the name of this private key implementation.

Returns: str
name of this private key type, in SSH terminology (for example, "ssh-rsa").

sign_ssh_data(self, randpool, data)

source code 

Sign a blob of data with this private key, and return a Message representing an SSH signature message.

Parameters:
  • randpool (Crypto.Util.randpool.RandomPool) - a secure random number generator.
  • data (str) - the data to sign.
Returns: Message
an SSH signature message.

verify_ssh_sig(self, data, msg)

source code 

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 (str) - the data that was signed.
  • msg (Message) - an SSH signature message
Returns: boolean
True if the signature verifies correctly; False otherwise.

write_private_key(self, file_obj, password=None)

source code 

Write private key contents into a file (or file-like) object. If the password is not None, the key is encrypted before writing.

Parameters:
  • file_obj (file) - the file object to write into
  • password (str) - an optional password to use to encrypt the key
Raises:
  • IOError - if there was an error writing to the file
  • SSHException - if the key is invalid

write_private_key_file(self, filename, password=None)

source code 

Write private key contents into a file. If the password is not None, the key is encrypted before writing.

Parameters:
  • filename (str) - name of the file to write
  • password (str) - an optional password to use to encrypt the key file
Raises:
  • IOError - if there was an error writing the file
  • SSHException - if the key is invalid