| |
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html><head><title>Python: module gdata.tlslite.utils.RSAKey</title> |
| </head><body bgcolor="#f0f0f8"> |
| |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> |
| <tr bgcolor="#7799ee"> |
| <td valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="gdata.html"><font color="#ffffff">gdata</font></a>.<a href="gdata.tlslite.html"><font color="#ffffff">tlslite</font></a>.<a href="gdata.tlslite.utils.html"><font color="#ffffff">utils</font></a>.RSAKey</strong></big></big></font></td |
| ><td align=right valign=bottom |
| ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/tlslite/utils/RSAKey.py">/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/tlslite/utils/RSAKey.py</a></font></td></tr></table> |
| <p><tt>Abstract class for RSA.</tt></p> |
| <p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#aa55cc"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> |
| <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="Crypto.html">Crypto</a><br> |
| <a href="array.html">array</a><br> |
| </td><td width="25%" valign=top><a href="base64.html">base64</a><br> |
| <a href="binascii.html">binascii</a><br> |
| </td><td width="25%" valign=top><a href="math.html">math</a><br> |
| <a href="os.html">os</a><br> |
| </td><td width="25%" valign=top><a href="sys.html">sys</a><br> |
| <a href="traceback.html">traceback</a><br> |
| </td></tr></table></td></tr></table><p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#ee77aa"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> |
| <td width="100%"><dl> |
| <dt><font face="helvetica, arial"><a href="gdata.tlslite.utils.RSAKey.html#RSAKey">RSAKey</a> |
| </font></dt></dl> |
| <p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#ffc8d8"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#000000" face="helvetica, arial"><a name="RSAKey">class <strong>RSAKey</strong></a></font></td></tr> |
| |
| <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> |
| <td colspan=2><tt>This is an abstract base class for RSA keys.<br> |
| <br> |
| Particular implementations of RSA keys, such as<br> |
| L{OpenSSL_RSAKey.OpenSSL_RSAKey},<br> |
| L{Python_RSAKey.Python_RSAKey}, and<br> |
| L{PyCrypto_RSAKey.PyCrypto_RSAKey},<br> |
| inherit from this.<br> |
| <br> |
| To create or parse an RSA key, don't use one of these classes<br> |
| directly. Instead, use the factory functions in<br> |
| L{tlslite.utils.keyfactory}.<br> </tt></td></tr> |
| <tr><td> </td> |
| <td width="100%">Methods defined here:<br> |
| <dl><dt><a name="RSAKey-__init__"><strong>__init__</strong></a>(self, n<font color="#909090">=0</font>, e<font color="#909090">=0</font>)</dt><dd><tt>Create a new RSA key.<br> |
| <br> |
| If n and e are passed in, the new key will be initialized.<br> |
| <br> |
| @type n: int<br> |
| @param n: RSA modulus.<br> |
| <br> |
| @type e: int<br> |
| @param e: RSA public exponent.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-__len__"><strong>__len__</strong></a>(self)</dt><dd><tt>Return the length of this key in bits.<br> |
| <br> |
| @rtype: int</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-acceptsPassword"><strong>acceptsPassword</strong></a>(self)</dt><dd><tt>Return True if the <a href="#RSAKey-write">write</a>() method accepts a password for use<br> |
| in encrypting the private key.<br> |
| <br> |
| @rtype: bool</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-decrypt"><strong>decrypt</strong></a>(self, encBytes)</dt><dd><tt>Decrypt the passed-in bytes.<br> |
| <br> |
| This requires the key to have a private component. It performs<br> |
| PKCS1 decryption of the passed-in data.<br> |
| <br> |
| @type encBytes: L{array.array} of unsigned bytes<br> |
| @param encBytes: The value which will be decrypted.<br> |
| <br> |
| @rtype: L{array.array} of unsigned bytes or None.<br> |
| @return: A PKCS1 decryption of the passed-in data or None if<br> |
| the data is not properly formatted.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-encrypt"><strong>encrypt</strong></a>(self, bytes)</dt><dd><tt>Encrypt the passed-in bytes.<br> |
| <br> |
| This performs PKCS1 encryption of the passed-in data.<br> |
| <br> |
| @type bytes: L{array.array} of unsigned bytes<br> |
| @param bytes: The value which will be encrypted.<br> |
| <br> |
| @rtype: L{array.array} of unsigned bytes.<br> |
| @return: A PKCS1 encryption of the passed-in data.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-getSigningAlgorithm"><strong>getSigningAlgorithm</strong></a>(self)</dt><dd><tt>Return the cryptoID sigAlgo value corresponding to this key.<br> |
| <br> |
| @rtype: str</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-hasPrivateKey"><strong>hasPrivateKey</strong></a>(self)</dt><dd><tt>Return whether or not this key has a private component.<br> |
| <br> |
| @rtype: bool</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-hash"><strong>hash</strong></a>(self)</dt><dd><tt>Return the cryptoID <keyHash> value corresponding to this<br> |
| key.<br> |
| <br> |
| @rtype: str</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-hashAndSign"><strong>hashAndSign</strong></a>(self, bytes)</dt><dd><tt>Hash and sign the passed-in bytes.<br> |
| <br> |
| This requires the key to have a private component. It performs<br> |
| a PKCS1-SHA1 signature on the passed-in data.<br> |
| <br> |
| @type bytes: str or L{array.array} of unsigned bytes<br> |
| @param bytes: The value which will be hashed and signed.<br> |
| <br> |
| @rtype: L{array.array} of unsigned bytes.<br> |
| @return: A PKCS1-SHA1 signature on the passed-in data.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-hashAndVerify"><strong>hashAndVerify</strong></a>(self, sigBytes, bytes)</dt><dd><tt>Hash and verify the passed-in bytes with the signature.<br> |
| <br> |
| This verifies a PKCS1-SHA1 signature on the passed-in data.<br> |
| <br> |
| @type sigBytes: L{array.array} of unsigned bytes<br> |
| @param sigBytes: A PKCS1-SHA1 signature.<br> |
| <br> |
| @type bytes: str or L{array.array} of unsigned bytes<br> |
| @param bytes: The value which will be hashed and verified.<br> |
| <br> |
| @rtype: bool<br> |
| @return: Whether the signature matches the passed-in data.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-sign"><strong>sign</strong></a>(self, bytes)</dt><dd><tt>Sign the passed-in bytes.<br> |
| <br> |
| This requires the key to have a private component. It performs<br> |
| a PKCS1 signature on the passed-in data.<br> |
| <br> |
| @type bytes: L{array.array} of unsigned bytes<br> |
| @param bytes: The value which will be signed.<br> |
| <br> |
| @rtype: L{array.array} of unsigned bytes.<br> |
| @return: A PKCS1 signature on the passed-in data.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-verify"><strong>verify</strong></a>(self, sigBytes, bytes)</dt><dd><tt>Verify the passed-in bytes with the signature.<br> |
| <br> |
| This verifies a PKCS1 signature on the passed-in data.<br> |
| <br> |
| @type sigBytes: L{array.array} of unsigned bytes<br> |
| @param sigBytes: A PKCS1 signature.<br> |
| <br> |
| @type bytes: L{array.array} of unsigned bytes<br> |
| @param bytes: The value which will be verified.<br> |
| <br> |
| @rtype: bool<br> |
| @return: Whether the signature matches the passed-in data.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-write"><strong>write</strong></a>(self, password<font color="#909090">=None</font>)</dt><dd><tt>Return a string containing the key.<br> |
| <br> |
| @rtype: str<br> |
| @return: A string describing the key, in whichever format (PEM<br> |
| or XML) is native to the implementation.</tt></dd></dl> |
| |
| <dl><dt><a name="RSAKey-writeXMLPublicKey"><strong>writeXMLPublicKey</strong></a>(self, indent<font color="#909090">=''</font>)</dt><dd><tt>Return a string containing the key.<br> |
| <br> |
| @rtype: str<br> |
| @return: A string describing the public key, in XML format.</tt></dd></dl> |
| |
| <hr> |
| Static methods defined here:<br> |
| <dl><dt><a name="RSAKey-generate"><strong>generate</strong></a>(bits)</dt><dd><tt>Generate a new key with the specified bit length.<br> |
| <br> |
| @rtype: L{tlslite.utils.<a href="#RSAKey">RSAKey</a>.<a href="#RSAKey">RSAKey</a>}</tt></dd></dl> |
| |
| </td></tr></table></td></tr></table><p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#eeaa77"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td> |
| <td width="100%"><dl><dt><a name="-sha1"><strong>sha1</strong></a> = openssl_sha1(...)</dt><dd><tt>Returns a sha1 hash object; optionally initialized with a string</tt></dd></dl> |
| </td></tr></table><p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#55aa55"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> |
| <td width="100%"><strong>cryptlibpyLoaded</strong> = False<br> |
| <strong>gmpyLoaded</strong> = False<br> |
| <strong>m2cryptoLoaded</strong> = False<br> |
| <strong>prngName</strong> = 'os.urandom'<br> |
| <strong>pycryptoLoaded</strong> = True<br> |
| <strong>sieve</strong> = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ...]</td></tr></table> |
| </body></html> |