gdata.tlslite.utils.RSAKey
index
/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/tlslite/utils/RSAKey.py

Abstract class for RSA.

 
Modules
       
Crypto
array
base64
binascii
math
os
sys
traceback

 
Classes
       
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 use
in 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 this
key.
 
@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}

 
Functions
       
sha1 = openssl_sha1(...)
Returns a sha1 hash object; optionally initialized with a string

 
Data
        cryptlibpyLoaded = False
gmpyLoaded = False
m2cryptoLoaded = False
prngName = 'os.urandom'
pycryptoLoaded = True
sieve = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ...]