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

# Class PKey

source code

    object --+
             |
            PKey

Known Subclasses:
  - AgentKey
  - , DSSKey
  - , RSAKey

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, rng, 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__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

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: `IOError` - if there was an error reading the key `PasswordRequiredException` - if the private key file is encrypted, and `password` is `None` `SSHException` - if the key file is invalid

### 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: `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

### 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, rng, data) | source code
Sign a blob of data with this private key, and return a Message representing an SSH signature message. Parameters: `rng` (`Crypto.Util.rng.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