|  |  | 
RSAKey
 
 
| class RSAKey
 |  |  | This is an abstract base class for RSA keys. 
 Particular implementations of RSA keys, such as
 L{OpenSSL_RSAKey.OpenSSL_RSAKey},
 L{Python_RSAKey.Python_RSAKey}, and
 L{PyCrypto_RSAKey.PyCrypto_RSAKey},
 inherit from this.
 
 To create or parse an RSA key, don't use one of these classes
 directly.  Instead, use the factory functions in
 L{tlslite.utils.keyfactory}.
 
 |  |  | Methods defined here: 
 __init__(self, n=0, e=0)Create a new RSA key.
 If n and e are passed in, the new key will be initialized.
 
 @type n: int
 @param n: RSA modulus.
 
 @type e: int
 @param e: RSA public exponent.
 __len__(self)Return the length of this key in bits.
 @rtype: int
 acceptsPassword(self)Return True if the write() method accepts a password for usein encrypting the private key.
 
 @rtype: bool
 decrypt(self, encBytes)Decrypt the passed-in bytes.
 This requires the key to have a private component.  It performs
 PKCS1 decryption of the passed-in data.
 
 @type encBytes: L{array.array} of unsigned bytes
 @param encBytes: The value which will be decrypted.
 
 @rtype: L{array.array} of unsigned bytes or None.
 @return: A PKCS1 decryption of the passed-in data or None if
 the data is not properly formatted.
 encrypt(self, bytes)Encrypt the passed-in bytes.
 This performs PKCS1 encryption of the passed-in data.
 
 @type bytes: L{array.array} of unsigned bytes
 @param bytes: The value which will be encrypted.
 
 @rtype: L{array.array} of unsigned bytes.
 @return: A PKCS1 encryption of the passed-in data.
 getSigningAlgorithm(self)Return the cryptoID sigAlgo value corresponding to this key.
 @rtype: str
 hasPrivateKey(self)Return whether or not this key has a private component.
 @rtype: bool
 hash(self)Return the cryptoID <keyHash> value corresponding to thiskey.
 
 @rtype: str
 hashAndSign(self, bytes)Hash and sign the passed-in bytes.
 This requires the key to have a private component.  It performs
 a PKCS1-SHA1 signature on the passed-in data.
 
 @type bytes: str or L{array.array} of unsigned bytes
 @param bytes: The value which will be hashed and signed.
 
 @rtype: L{array.array} of unsigned bytes.
 @return: A PKCS1-SHA1 signature on the passed-in data.
 hashAndVerify(self, sigBytes, bytes)Hash and verify the passed-in bytes with the signature.
 This verifies a PKCS1-SHA1 signature on the passed-in data.
 
 @type sigBytes: L{array.array} of unsigned bytes
 @param sigBytes: A PKCS1-SHA1 signature.
 
 @type bytes: str or L{array.array} of unsigned bytes
 @param bytes: The value which will be hashed and verified.
 
 @rtype: bool
 @return: Whether the signature matches the passed-in data.
 sign(self, bytes)Sign the passed-in bytes.
 This requires the key to have a private component.  It performs
 a PKCS1 signature on the passed-in data.
 
 @type bytes: L{array.array} of unsigned bytes
 @param bytes: The value which will be signed.
 
 @rtype: L{array.array} of unsigned bytes.
 @return: A PKCS1 signature on the passed-in data.
 verify(self, sigBytes, bytes)Verify the passed-in bytes with the signature.
 This verifies a PKCS1 signature on the passed-in data.
 
 @type sigBytes: L{array.array} of unsigned bytes
 @param sigBytes: A PKCS1 signature.
 
 @type bytes: L{array.array} of unsigned bytes
 @param bytes: The value which will be verified.
 
 @rtype: bool
 @return: Whether the signature matches the passed-in data.
 write(self, password=None)Return a string containing the key.
 @rtype: str
 @return: A string describing the key, in whichever format (PEM
 or XML) is native to the implementation.
 writeXMLPublicKey(self, indent='')Return a string containing the key.
 @rtype: str
 @return: A string describing the public key, in XML format.
 Static methods defined here:
 
 generate(bits)Generate a new key with the specified bit length.
 @rtype: L{tlslite.utils.RSAKey.RSAKey}
 |  |